Skip to content

Well-begun... #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 38 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
5d793d4
Well-begun...
ciroque Apr 19, 2024
5738247
CHECKPOINT: Powershell scxript added
ciroque Apr 19, 2024
fd0d735
CHECKPOINT: Punt on tabbed interface for now
ciroque Apr 19, 2024
9331602
CHECKPOINT: Add shell script
ciroque Apr 19, 2024
7403637
Lab3 draft (#12)
chrisakker Apr 19, 2024
f892bd8
Merge (#17)
chrisakker Apr 25, 2024
da498eb
Refactor of lab1 and lab6 and lab7 WIP (#21)
sdutta9 Apr 29, 2024
d9d67e4
Lab10 addition (#23)
apcurrier May 1, 2024
59e1483
Lab1 and Lab2 edits (#24)
sdutta9 May 1, 2024
ec482eb
Lab4 final, diagrams added Labs1-4 (#25)
chrisakker May 2, 2024
e4e2fcd
Lab1,2 graphics added (#26)
chrisakker May 3, 2024
c09149a
lab3 changes (#27)
sdutta9 May 3, 2024
0166b40
Lab3 and Lab4 final edits (#28)
sdutta9 May 7, 2024
87899cd
Lab5 almost done (#29)
chrisakker May 7, 2024
b4dbb6e
Lab6 final updates and screenshots added (#30)
sdutta9 May 8, 2024
ca48990
Add HTTP1.1 (#34)
chrisakker May 14, 2024
bdff804
Updated Grafana Dashboard (#35)
apcurrier May 17, 2024
5a90fa5
removed ca-notes
chrisakker May 20, 2024
d7bae79
Removing ac-notes folder
apcurrier May 20, 2024
72ec2bc
updated dashboard image to add hit ratio
apcurrier May 21, 2024
32e9076
Remove ca-notes (#38)
chrisakker May 21, 2024
b16d131
Update readme.md
apcurrier May 21, 2024
892511c
Update readme.md
apcurrier May 21, 2024
f9b1a52
Lab 7 logging and monitoring updates (#40)
sdutta9 May 21, 2024
7803f21
xRefactory (#41)
sdutta9 May 21, 2024
5fc3da7
Lab9 update (#42)
chrisakker May 21, 2024
52927c7
remove old readme (#43)
chrisakker May 21, 2024
36a9eaa
Swapped labs and removed unnecessary badges from main readme (#44)
sdutta9 May 22, 2024
4e9ef8b
Labs 1, 2, 3, 5 and 6 edits (#45)
sdutta9 May 28, 2024
edf8396
Well-begun...
ciroque Apr 19, 2024
36e1231
CHECKPOINT: Powershell scxript added
ciroque Apr 19, 2024
d829ba6
CHECKPOINT: Add shell script
ciroque Apr 19, 2024
b07c4fe
CHECKPOINT: Exercise 1 in place
ciroque May 30, 2024
f948461
CHECKPOINT: Build tar on MBP
ciroque Jun 18, 2024
3df949e
CHECKPOINT: Remove secrets
ciroque Jun 18, 2024
95e2d62
CHECKPOINT: Cleanup and Working
ciroque Jun 18, 2024
9487318
CHECKPOINT: Ignore gzip archives
ciroque Jun 18, 2024
87999e1
CHECKPOINT: Things are working now
ciroque Jun 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
############################
*.crt
*.key
*.jwt
*~
\#*

Expand All @@ -14,3 +15,16 @@ Thumbs.db
# Logs #
########
*.log
/.vs

# Misc Dir #
############
.apc/

#Kubernetes-ingress#
####################
kubernetes-ingress

n4a-configs-staging/
*.tar.gz

4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changelog

## 1.0.0 (Month Date, Year)
## 1.0.0 (April 1, 2024)

Initial release of the NGINX template repository.
Initial release of the NGINXaaS for Azure Workshop.
28 changes: 2 additions & 26 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ The following is a set of guidelines for contributing to this project. We really

[Contributing](#contributing)

[Code Guidelines](#code-guidelines)

[Code of Conduct](https://github.com/nginxinc/nginx-azure-workshops/blob/main/CODE_OF_CONDUCT.md)

## Getting Started
Expand All @@ -24,28 +22,6 @@ Follow our [Getting Started Guide](https://github.com/nginxinc/nginx-azure-works

To report a bug, open an issue on GitHub with the label `bug` using the available bug report issue template. Please ensure the bug has not already been reported. **If the bug is a potential security vulnerability, please report it using our [security policy](https://github.com/nginxinc/nginx-azure-workshops/blob/main/SECURITY.md).**

### Suggest a Feature or Enhancement

To suggest a feature or enhancement, please create an issue on GitHub with the label `enhancement` using the available [feature request template](https://github.com/nginxinc/nginx-azure-workshops/blob/main/.github/feature_request_template.md). Please ensure the feature or enhancement has not already been suggested.

### Open a Pull Request

- Fork the repo, create a branch, implement your changes, add any relevant tests, submit a PR when your changes are **tested** and ready for review.
- Fill in [our pull request template](https://github.com/nginxinc/nginx-azure-workshops/blob/main/.github/pull_request_template.md).

Note: if you'd like to implement a new feature, please consider creating a [feature request issue](https://github.com/nginxinc/nginx-azure-workshops/blob/main/.github/feature_request_template.md) first to start a discussion about the feature.

## Code Guidelines

<!-- ### Go/Python/Bash/etc... Guidelines (OPTIONAL) -->

### Git Guidelines
### Provide Feedback on a Lab Exercise

- Keep a clean, concise and meaningful git commit history on your branch (within reason), rebasing locally and squashing before submitting a PR.
- If possible and/or relevant, use the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format when writing a commit message, so that changelogs can be automatically generated
- Follow the guidelines of writing a good commit message as described here <https://chris.beams.io/posts/git-commit/> and summarised in the next few points:
- In the subject line, use the present tense ("Add feature" not "Added feature").
- In the subject line, use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- Limit the subject line to 72 characters or less.
- Reference issues and pull requests liberally after the subject line.
- Add more detailed description in the body of the git message (`git commit -a` to give you more space and time in your text editor to write a good message instead of `git commit -am`).
To send us feedback, please create an issue on GitHub with the label `feedback` using the available feedback template.
100 changes: 56 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,80 @@
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/nginxinc/template-repository/badge)](https://securityscorecards.dev/viewer/?uri=github.com/nginxinc/template-repository)
[![Community Support](https://badgen.net/badge/support/community/cyan?icon=awesome)](https://github.com/nginxinc/template-repository/blob/main/SUPPORT.md)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/nginxinc/template-repository/main/CODE_OF_CONDUCT.md)
# NGINXaaS for Azure Workshop 301

# NGINX Template Repository
![](labs/media/nginx-azure-icon.png)

## What is included on this template?
<br/>

This template includes all the scaffolding you need to get started on an OSS repository that meets the required NGINX criteria:
This Repo is for learning **`NGINX as a Service in Azure`**, with Instructor Lead and Hands-on Lab Exercises and Lab Guides that will teach a student using real world scenarios for using NGINX in front of Azure Resources.

- [Apache License 2.0](https://github.com/nginxinc/template-repository/blob/main/LICENSE) (required for all NGINX OSS projects)
- [`.gitignore`](https://github.com/nginxinc/template-repository/blob/main/.gitignore) with some minimal sensible defaults
- [Issue](https://github.com/nginxinc/template-repository/blob/main/.github/ISSUE_TEMPLATE) and [PR](https://github.com/nginxinc/template-repository/blob/main/pull_request_template.md) templates
- [Contributing](https://github.com/nginxinc/template-repository/blob/main/CONTRIBUTING.md) guidelines
- [Support](https://github.com/nginxinc/template-repository/blob/main/SUPPORT.md) guidelines for either community and/or commercial support
- [Security](https://github.com/nginxinc/template-repository/blob/main/SECURITY.md) guidelines for reporting major vulnerabilities
- [Code of Conduct](https://github.com/nginxinc/template-repository/blob/main/CODE_OF_CONDUCT.md)
- Open Source Security Foundation (OSSF) Scorecard [(implemented via a GitHub Action)](https://github.com/nginxinc/template-repository/blob/main/.github/workflows/ossf_scorecard.yml)
- [README](https://github.com/nginxinc/template-repository/blob/main/README.md) placeholder. How you structure the README is up to you (although the template provides placeholder sections), but you will need to include:
- A [repostatus](https://www.repostatus.org/) badge
- An OSSF Scorecard badge. (Optional -- Some projects will by their nature have low scores. In such a case you might want to remove this badge!)
- A community and/or commercial support badge. Include the latter -- and replace the commented out badge/URL placeholder with the relevant support URL -- if this repository contains a commercially supported project. You can find a commented out example below the community badge in this README.
- A contributor covenant/code of conduct badge. (Optional -- If you already have multiple badges and want to reduce clutter, simply including the actual code of conduct is enough!)
- An explicit link back to the [Apache License 2.0](https://github.com/nginxinc/template-repository/blob/main/LICENSE)
- An up to date copyright notice
- [Changelog](https://github.com/nginxinc/template-repository/blob/main/CHANGELOG.md) placeholder. (Optional -- A changelog is recommended, but it is not required and can diverge in format from the placeholder here included.)
- [Codeowners](https://github.com/nginxinc/template-repository/blob/main/.github/CODEOWNERS) placeholder. (Optional -- Codeowners is a useful feature, but not all repositories require them.)
<br>

**Note:** If you created a public repository before this template became available (or you didn't know about it's existence), please include any missing files found here in your repository. There is no need if you have a private repository, but we still recommend you include all of the above scaffolding should the repository ever become public.
**This is an Advanced, 300 Level Workshop.**

## How do I use this template?
## Audience

**DO NOT FORK** -- this template is meant to be used from the **[`Use this template`](https://github.com/nginxinc/template-repository/generate)** feature.
This Workshop is meant for Cloud and Application Architects, Modern Application Developers, DevOps, Platform Ops, and SRE engineers working with NGINX, Azure, Docker, Kubernetes and Ingress Controllers, to learn and understand how NGINX for Azure works - how it is configured, deployed, monitored and managed. Using various Azure Resources like VMs, containers, AKS Clusters, and Azure networking, you will deploy real applications for external access using Nginx for Azure.

1. Click on **[`Use this template`](https://github.com/nginxinc/template-repository/generate)**
2. Give a name to your project
3. Wait until the first run of CI finishes (GitHub Actions will process the template and commit to your new repo)
4. Clone your new project and tweak any of the placeholders if necessary. Pay special attention to the README!
5. Happy coding!
`The Student taking this Advanced Workshop must have intermediate skills and knowledge with the following:`

**NOTE**: **WAIT** until the first CI run on GitHub Actions finishes before cloning your new project.
- Azure Cloud, Portal and Azure CLI
- NGINX Webserver, Reverse Proxy, Load Balancing
- NGINX Ingress Controller
- Kubernetes Administration
- Redis In Memory Cache and Redis Tools
- TCP, HTTP/S, DNS, Redis protocols and traffic
- Chrome or browser diagnostic tools
- Linux OS commands and tools
- Container / Docker administration
- Visual Studio Code

---
You should be proficient with the following technologies and concepts.

<!-- DELETE THE LINES ABOVE THIS AND WRITE YOUR PROJECT README BELOW -- PLACEHOLDER SECTIONS HAVE BEEN INCLUDED FOR YOUR CONVENIENCE -->
- Nginx Webserver and Reverse Proxy
- Nginx Ingress Controller
- Kubernetes; nodes, pods, deployments, services, ingress, nodeport
- Azure Cloud; subscriptions, networking, VMs, AKS Clusters
- Various Desktop tools; Visual Studio, Linux, Terminal, Chrome

[![Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.](https://www.repostatus.org/badges/latest/concept.svg)](https://www.repostatus.org/#concept)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/nginxinc/nginx-azure-workshops/badge)](https://securityscorecards.dev/viewer/?uri=github.com/nginxinc/nginx-azure-workshops)
[![Community Support](https://badgen.net/badge/support/community/cyan?icon=awesome)](https://github.com/nginxinc/nginx-azure-workshops/blob/main/SUPPORT.md) <!-- [![Commercial Support](https://badgen.net/badge/support/commercial/cyan?icon=awesome)](<Insert URL>) -->
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/nginxinc/nginx-azure-workshops/main/CODE_OF_CONDUCT.md)
<br/>

# nginx_azure_workshops
## Knowledge and Skills Requirements

## Requirements
<br/>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam elit turpis, varius et arcu elementum, viverra rhoncus sem. Aliquam nec sodales magna, et egestas enim. Mauris lobortis ultrices euismod. Pellentesque in arcu lacus. Mauris cursus laoreet nulla, ac vehicula est. Vestibulum eu mauris quis lorem consectetur aliquam ac nec quam. Vestibulum commodo pharetra mi, at bibendum neque faucibus ut. Mauris et tortor sed sem consectetur eleifend ut non magna. Praesent feugiat placerat nibh, varius viverra orci bibendum sed. Vestibulum dapibus ex ut pulvinar facilisis. Quisque sodales enim et augue tempor mattis. Suspendisse finibus congue felis, ac blandit ligula. Praesent condimentum ultrices odio quis semper. Nunc ultrices, nibh quis mattis pellentesque, elit nulla bibendum felis, quis dapibus erat turpis ac urna.
NGINXaaS for Azure | Hands-On Labs
:-------------------------:|:-------------------------:
![](labs/media/nginx-azure-icon.png) | ![](labs/media/developer-seated.svg)

<br/>

To meet the Prerequisite skills requirement, there are other Workshops from Nginx and Azure Learning to help you prepare. The student must have completed the previous two Nginx Workshops, prior to taking this workshop. (Or have equivalent knowledge).

- Nginx Basics Workshop - 101 (https://github.com/nginxinc/nginx-basics-workshops/tree/master/labs)
- Nginx Plus Ingress Workshop - 201 (https://github.com/nginxinc/nginx-ingress-workshops/tree/main/Plus/labs)
- Azure Portal and AzureCLI training from Microsoft Learn (https://learn.microsoft.com/en-us/training/azure/)

See [Lab0 Readme](/labs/lab0/readme.md) for the Hardware/Software and Skills Prerequisites for taking this Workshop and completing the Lab Exercises.

<br/>

## Getting Started

Duis sit amet sapien vel velit ornare vulputate. Nulla rutrum euismod risus ac efficitur. Curabitur in sagittis elit, a semper leo. Suspendisse malesuada aliquam velit, eu suscipit lorem vehicula at. Proin turpis lacus, semper in placerat in, accumsan non ipsum. Cras euismod, elit eget pretium laoreet, tortor nulla finibus tortor, nec hendrerit elit turpis ut eros. Quisque congue nisi id mauris molestie, eu condimentum dolor rutrum. Nullam eleifend elit ac lobortis tristique. Pellentesque nec tellus non mauris aliquet commodo a eu elit. Ut at feugiat metus, at tristique mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
Review the Github Repo content for the Nginx Basics and Nginx Plus Ingress Workshops. If you have taken these Workshops, and understand the content, you can successfully complete the Lab exercises in this Nginx for Azure Workshop. It is HIGHLY recommended that you complete the 101 and 201 Workshops prior.

It is HIGHLY recommended that you complete Azure Training from http://learn.microsoft.com, so you are familiar with Azure Portal, menus, and various resources and components.

It will take approximately 4 hours to complete the Nginx for Azure Workshop.

<br/>

## How to Use

Maecenas at vehicula justo. Suspendisse posuere elementum elit vel posuere. Etiam quis pulvinar massa. Integer tempor semper risus, vitae maximus eros ullamcorper vitae. In egestas, ex vitae gravida sodales, ipsum dolor varius est, et cursus lorem dui a mi. Morbi faucibus ut nisi id faucibus. Sed quis ullamcorper ex. In et dolor id nunc interdum suscipit.
The content and lab exercises are presented in a sequence as you build and add additional Nginx and Azure features and functionality as you progress. It is essential that the Lab Exercises are completed in the order provided. This content provided is for example only, is not for production workloads. The user of this information assumes all risks.

- Click [LabGuide](labs/readme.md) to begin the Lab Exercises.
- Click [Lab0 Readme](labs/lab0/readme.md) to review the Lab0 Prerequisites - "Know before you Go".

<br/>

## Contributing

Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

## Latest Versions

We advise users to run or update to the most recent release of this project. Older versions of this project may not have all enhancements and/or bug fixes applied to them.
We advise users to run the most recent release of the nginx_azure_workshops. Older versions of the nginx_azure_workshops may not have all enhancements and/or bug fixes applied to them.

## Reporting a Vulnerability

The F5 Security Incident Response Team (F5 SIRT) has an email alias that makes it easy to report potential security vulnerabilities.

- If you’re an F5 customer with an active support contract, please contact [F5 Technical Support](https://www.f5.com/services/support).
- If you aren’t an F5 customer, please report any potential or current instances of security vulnerabilities with any F5 product to the F5 Security Incident Response Team at F5SIRT@f5.com
- If you aren’t an F5 customer, please report any potential or current instances of security vulnerabilities with any F5 product to the F5 Security Incident Response Team at F5SIRT@f5.com.

For more information visit [https://www.f5.com/services/support/report-a-vulnerability](https://www.f5.com/services/support/report-a-vulnerability)
36 changes: 29 additions & 7 deletions SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,56 @@

We use GitHub for tracking bugs and feature requests related to this project.

Don't know how something in this project works? Curious if this project can achieve your desired functionality? Please open an issue on GitHub with the label `question`.
Don't know how something in the nginx_azure_workshops works? Curious if the nginx_azure_workshops can achieve your desired functionality? Please open an issue on GitHub with the label `question`.

<br/>

## NGINX Specific Questions and/or Issues

This isn't the right place to get support for NGINX specific questions, but the following resources are available below. Thanks for your understanding!

### Community Slack
<br/>

We have a community [Slack](https://nginxcommunity.slack.com/)!
## F5 Support

If you are not a member, click [here](https://community.nginx.org/joinslack) to sign up (and let us know if the link does not seem to be working!)
If you’re an F5 customer with NGINX Plus and an active support contract, please contact [F5 Technical Support](https://www.f5.com/services/support).

Once you join, check out the `#beginner-questions` and `nginx-users` channels :)
<br/>

### Documentation
## Documentation

For a comprehensive list of all NGINX directives, check out <https://nginx.org>.
For a comprehensive list of all NGINX directives, check out <http://nginx.org/en/docs/dirindex.html>.

For a comprehensive list of all NGINX variables, check out <http://nginx.org/en/docs/varindex.html>.

For a comprehensive list of admin and deployment guides for NGINX Plus, check out <https://docs.nginx.com/nginx/admin-guide/>.

For a comprehensive list of admin and deployment guides for all NGINX products, check out <https://docs.nginx.com>.

</br>

### Mailing List

Want to get in touch with the NGINX development team directly? Try using the relevant mailing list found at <https://mailman.nginx.org/mailman3/lists/>!

<br/>

## Contributing

Please see the [contributing guide](https://github.com/nginxinc/nginx-azure-workshops/blob/main/CONTRIBUTING.md) for guidelines on how to best contribute to this project.

<br/>

## Commercial Support

Commercial support for this project may be available. Please get in touch with [NGINX sales](https://www.nginx.com/contact-sales/) or check your contract details for more info!

<br/>

### Community Slack

We have a community [Slack](https://nginxcommunity.slack.com/)!

If you are not a member, click [here](https://community.nginx.org/joinslack) to sign up (and let us know if the link does not seem to be working!)

Once you join, check out the `#beginner-questions` and `nginx-users` channels :)
Loading