https://github.com/provectus/sak-nginx
Nginx ingress module for SAK project
https://github.com/provectus/sak-nginx
aws devops ingress open-source swiss-army-kube
Last synced: 11 months ago
JSON representation
Nginx ingress module for SAK project
- Host: GitHub
- URL: https://github.com/provectus/sak-nginx
- Owner: provectus
- Created: 2021-01-21T17:43:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-19T16:21:50.000Z (about 3 years ago)
- Last Synced: 2025-07-04T19:46:05.574Z (12 months ago)
- Topics: aws, devops, ingress, open-source, swiss-army-kube
- Language: HCL
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Swiss Army Kube nginx module
This module was created to deploy nginx within Swiss Army Kube cluster with ease and simplicity.
Check out main repo of Swiss Army Kube for more information about the project in general.
**[Swiss Army Kube](https://github.com/provectus/swiss-army-kube)**
**[Contributing Guide](https://github.com/provectus/swiss-army-kube/blob/master/CONTRIBUTING.md)**
## Requirements
```
terraform >= 1.1
```
## Providers
| Name | Version |
|------|---------|
| aws | >= 3.0 |
| helm | >= 1.0 |
| kubernetes | >= 1.11 |
| local | >=2.1.0 |
# Nginx Ingress Controller
Based on
## For Example with TLS offload
``` hcl
module "nginx" {
depends_on = [module.sak-acm]
source = "https://github.com/provectus/sak-nginx.git"
argocd = module.argocd.state
conf = {
"controller.service.targetPorts.http" = "http"
"controller.service.targetPorts.https" = "http"
"controller.service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-ssl-cert" = module.clusterwide.this_acm_certificate_arn
"controller.service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-backend-protocol" = "http"
"controller.service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-ssl-ports" = "https"
}
tags = {}
}
```
## Example without SSL or with cert-manager
``` hcl
module "nginx" {
source = "github.com/provectus/sak-nginx.git"
argocd = module.argocd.state
conf = {}
tags = {}
}
```
## Providers
| Name | Version |
|------|---------|
| helm | n/a |
| kubernetes | n/a |
| local | n/a |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:-----:|
| argocd | A set of values for enabling deployment through ArgoCD | `map(string)` | `{}` | no |
| aws\_private | Set true or false to use private or public infrastructure | `bool` | `false` | no |
| conf | A set of parameters to pass to Nginx Ingress Controller chart | `map` | `{}` | no |
| module\_depends\_on | A list of explicit dependencies for the module | `list` | `[]` | no |
| namespace | A name of the existing namespace | `string` | `""` | no |
| namespace\_name | A name of namespace for creating | `string` | `"ingress-system"` | no |
## Outputs
No output.
## Update version
- Found the latest stable version of the helm chart from
- Change the version in the default section, example:
To test the SAK_NGINX module
- Deploy SAK-NGINX by SAK (namespace ingress-system)
- Deploy sample backend app:
```
kubectl create deployment web --image=registry.k8s.io/echoserver:1.4 --namespace ingress-system
kubectl expose deployment web --type=NodePort --port=8080 --namespace ingress-system
```
- Get published hostname from column EXTERNAL-IP of ingress-Nginx: ```kubectl get svc -n ingress-system```
- Publish web app on ingress controller:
- Check the web app from