26 Commits

Author SHA1 Message Date
dandds
9f2bdd4a9f Updated dev environment for JEDI.
- Updated environment name.
- Updated variables.
- AKS service principal creds moved to the operator Key Vault.
2020-01-21 10:08:27 -05:00
Rob Gil
9c429e35da 170237669 - Converts postgres secrets to use keyvault
This changes the configuration of the postgres master username and
password. Instead of committing to source (short term hack), this now
sources those secrets from KeyVault. Those secrets are generated and
populated via secrets-tool.
2020-01-17 13:30:00 -05:00
Rob Gil
deead852b5 169163334 - Initial secrets-tool commit
Adds admin_users map and keyvault policy

This adds an admin_users map as well as a new policy in the keyvault
module. When run, this will apply an administrator policy for users in
the admin_users map. With these permissions, the admin users will be
able to manage secrets and keys in keyvault.

169163334 - Initial secrets-tool commit

Adds admin_users map and keyvault policy

This adds an admin_users map as well as a new policy in the keyvault
module. When run, this will apply an administrator policy for users in
the admin_users map. With these permissions, the admin users will be
able to manage secrets and keys in keyvault.

170237669 - Makes the read only policy for keyvault optional and only create the policy if a principal_id is passed

170237669 - Adds new operator keyvault for secrets

This is a new keyvault specifically for storing operator secrets and
things that would not be accessible to applications. The primary use
case for this is for launching things like postgres (root postgres
creds) and other services which would require secrets to be added to the
terraform configuration. This approach avoids adding secrets to
terraform.

An accompanying script will be added to populate the new keyvault.
2020-01-16 17:27:49 -05:00
Rob Gil
a47ad24b90 Apply manual change for dev environment to gain access to keyvault from vmss nodes 2020-01-13 12:08:09 -05:00
Rob Gil
3986f3c91f 169163334 - Uses the k8s principal for access to keyvault from k8s nodes 2020-01-13 10:29:12 -05:00
Rob Gil
b233cb253f 169163334 - Updates provider for SystemAssigned MI policy for k8s 2020-01-13 10:29:12 -05:00
Rob Gil
11404a6e5b Adds IAM roles for the Managed Identity Module
This adds the ability to pass in a list of roles to be assigned to the
managed identity user.
2020-01-07 14:00:27 -05:00
Rob Gil
0b7ff0679a 170237476 - Autoscaling fix
Specifying the node count breaks the autoscaling min/max. When this
happens, the k8s cluster needs to be manually reconfigured. Terraform
does not remove the node count even when the node count option is
removed. The k8s cluster resource needed to be destroyed and re-created
in order to resolve the issue with node count and min/max options being
specified at the same time.
2019-12-30 12:57:57 -05:00
Rob Gil
62a02234a4 169163334 - Adds TF bucket module
Basic bucket module to create a bucket
2019-12-26 13:28:31 -05:00
Rob Gil
5eeb5f976a 169163334 - Adds autoscaling to k8s
This adds node autoscaling the k8s. Pod autoscaling needs to be
configured in the kubectl config.
2019-12-26 09:10:48 -05:00
Jay R. Newlin (PromptWorks)
1a89f73ca2
Merge branch 'staging' into 169163334-dns-fix 2019-12-24 13:40:13 -05:00
Rob Gil
b98bc5953f 169163334 - Adds public ips to k8s nodes for internet access
Temporary fix. This should be replaced with a NAT GW (which I need MSFT
to enable or fix the registry registration)
2019-12-23 18:39:55 -05:00
Rob Gil
ec5c3e0ce0 169163334 - Adds more configuration elements per call with Dan
This adds the start of the identity module but also cleans up a bunch of
things like the LBs. Originally I was managing the LBs, but k8s manages
this for us so I disabled the LBs for now.
2019-12-20 15:10:57 -05:00
dandds
7dbdeb3ae7
Merge pull request #1270 from robgil-dds/169163334-ssl-vpn
169163334 - Adds Virtual Network Gateway for VPN
2019-12-20 10:22:27 -05:00
Rob Gil
866b789b6c 169163334 - Adds Virtual Network Gateway for VPN
The Virtual Network Gateway is required for OpenVPN connectivity. The
change to the VPC module also adds a subnet which is exclusively used
for the Gateway.
2019-12-19 22:33:27 -05:00
Rob Gil
74b2510730 169163334 - Adds Azure Container Registry
Adds the ACR. Georeplication disabled for the moment until we add the DR
site.
2019-12-19 20:12:20 -05:00
dandds
f10ae654c3
Merge pull request #1267 from robgil-dds/169163334-lb
169163334 - Adds LB module
2019-12-19 09:40:13 -05:00
Rob Gil
7aeda9377e 169163334 - Adds LB module 2019-12-18 20:55:58 -05:00
Rob Gil
0925c73c68 Terraform fmt across new modules 2019-12-18 18:47:02 -05:00
Rob Gil
6d64665474 169163334 - Adds CDN module
Basic CDN module with configurable origin.
2019-12-18 18:45:25 -05:00
Rob Gil
83690ccf1a 169163334 - Adds redis module
Adds basic redis module.
2019-12-18 15:14:22 -05:00
Rob Gil
d621781c3b 170339063 - Adds network diagrams
Network diagrams are created with plantuml

Ex.
java -jar ~/plantuml.jar ./useast.txt
java -jar ~/plantuml.jar ./uswest.txt

Running this will create .png diagrams. PNG is the default but can be changed to
 SVG, PDF, etc
2019-12-18 11:12:14 -05:00
dandds
1eef40a1cf
Merge pull request #1253 from robgil-dds/169163334-keyvault
169163334 - Enables KeyVault server in dev TF env
2019-12-16 09:23:18 -05:00
Rob Gil
fd6bf723db 169163334 - Enables KeyVault server in dev TF env
This keyvault server will be used for db, redis, ad, k8s, and app
secrets for this environment.
2019-12-16 09:20:40 -05:00
Rob Gil
f104803b6d 169163334 - Adds postgres module and configures dev to run pg
Adds the postgres module and configures it in the development
environment.
2019-12-16 09:19:28 -05:00
Rob Gil
955a1c483b 169163334 - Initial VPC TF and structure
169163334 - Make supernet configurable

169163334 - Makes DNS servers configurable

169163334 - Adds bucket for state storage

169163334 - Adds k8s, keyvault, azuread provider

169163334 - Adds route tables

169163334 - Adds route table associations

169163334 - Adds default routes to route tables and fixes route table association flapping
2019-12-16 09:12:24 -05:00