Граф коммитов

244 Коммитов

Автор SHA1 Сообщение Дата
Heba Elayoty 5a6debf9dc
feat: Add Azure Data Factory module (#397)
* Add ADF module

* address code review comments

* go lint fix

* format fix

* upgrade azurerm to 2.9
2020-07-30 23:05:36 -05:00
Heba Elayoty 4a15d8d47c
feat: Add azure devops var group module (#400)
* Add azure devops var group module

* Add variables description
2020-07-30 12:06:48 -05:00
Heba Elayoty 5223d181c0
Leverage native provider implementation of ACR network rule; Remove null_recource & local-exec block (#399) 2020-07-30 08:47:42 -05:00
Heba Elayoty c645e01bec
feat: Upgrade azurerm provider to 2.9 (#396)
* upgrade azurerm provider to 2.6

* chaneg to the min version to 2.0.0

* remove upsupported field after upgrade

* remove virtual_network_name param

* change Web to web as part of upgrading to 2.x azurerm provider

* change Web to web as part of azurerm upgrade

* kick the CI

* point to vnet ref 0.12.0 instead of 0.11.1

* remove unsupported var

* remove extra /

* fix service_endpoints var to be list of list

* upgrade to azurerm 2.9 instead to solve app GT issue
2020-07-20 19:11:27 -05:00
Andre Briggs a9331a7aad
Update GETTING_STARTED_COBALT_DEV.md (#395)
Fixing broken link
2020-05-17 10:14:30 -05:00
Nicholas M. Iodice e7adbecac5
Updating reference for ado bootstrap template (#394) 2020-05-12 14:35:39 -05:00
Dexter Williams 70bede314d
Create a New Template - Documentation (#364)
* Creating a New Template - Init new template steps plus more

* Creating a New Template - Revise language and add infrastructure scenario

* Creating a New Template - Extend explanation of Cobalt Modules

* Creating a New Template - Expand and reorder instructions

* Creating a New Template - Expand explanation for designing a module

* create  new template - expanding module design and implementation steps plus more

* create new template - add new input variable

* create new templates - Add template implementation instructions plus more

* create a new template - Fill-in implementation steps plus revis language in several places

* create new template - reformat code snippets for CIT implementation

* create a new template - Expanded steps for running new template plus fix directory tree in quick start guide

* create a new template - Highlight a few steps

* testing a template - reword conclusion to introduce the coming testing walkthrough

* create a new template - reword conclusions of new template and qs guide plus more

* temporary notes for getting branch to work with service-plan, az func and az storage name limit

* address code review comments

* address template naming, intro wording and other pr comments

* updating table design example

* addressing comments

* addressing comments

* addressing comments

* addressing comments

* addressing final comments

* updating language

* updating language

* updating language

* updating language

* updating language

* updating language

* updating language

* update language

* update language

* adding more language clarity

* add troubleshooting error; update new template guide

* Address instructions for deployable function app CIT

* update tree directory images

Co-authored-by: Dexter Williams <Dexterw@microsoft.com>
2020-04-27 11:14:12 -05:00
Dexter Williams 8c4bd22d1d
Disable autoscale when app svc plan module configured for az func (#367)
* add count conditional on the basis of whether or not service plan tier is 'dynamic' aka auto-scalling azure function'

* Update unit tests to expected a list of autoscale resources

* Lint changes

Lint changes to terraform file as well

Co-authored-by: Dexter Williams <Dexterw@microsoft.com>
2020-04-24 16:53:47 -05:00
Stephen Henderson 9accc7f654
add hints to install AzDO tf provider (#391) 2020-04-24 12:49:51 -05:00
Nicholas M. Iodice e4a41643f0
Remove RG locks from ISO template so that the teardown will work (#393)
* Remove RG locks from ISO template so that the teardown will work

* lint

* pr isolation flag

* splitting templates
2020-04-24 12:49:24 -05:00
Dexter Williams a24b566d8f
Follow-up: update context regarding pull request and branching; improve language (#392)
* update context regarding pull request and branching; improve language

* remove unnecessary test file

* fix typo

Co-authored-by: Dexter Williams <Dexterw@microsoft.com>
2020-04-23 10:02:16 -05:00
Nicholas M. Iodice d7476b2f5f
Adding teardown flag for ISO template (#390)
* Adding teardown flag for ISO template

* Adding correct parameter block
2020-04-22 13:15:37 -05:00
Stephen Henderson e6162db608
Provide and initial ADO bootstrap template to help users get stared with IaC pipelines (#386)
* init - details follow:
- pulled in @nmiodice example
- began docs / README.md
- refactored example to follow other temp's more closely (break out ins & outs), and began massaging terminology to be consistent with other temps, AZ, AzDO, and the README.md

* further alignment with existing doc & use of .env

* ins, outs, and in-betweens defined

* more polish and clean-up

* more in inputs and resources

* Attention to creating the AzDO project (and parameterizing it).

* ignore .env

* align var groups with the latest requirements from Cobalt

* document outputs

* document inputs

* finish detailing in- & out-puts

* Initial commit.

* migrate git ignores into root-most level

* remove 'fixme' and add optional bits to create AzDO projects, as desired

* remove 'fixme' and add optional bits to create AzDO projects, as desired

* merge to upstream repo

* point to 'new' repo and add secret VGs

* lint all the things!

* stub new instructions to get the pipeline running the first time

Co-authored-by: Nicholas M. Iodice <niiodice@microsoft.com>
2020-04-22 13:04:55 -05:00
Nicholas M. Iodice c6b2ea15d2
Module port (#388)
Merged in module updates from past project
2020-04-22 11:48:52 -05:00
Dexter Williams 4c5de79c31
Maven Azure Function Pipeline (#387)
* Maven Azure Function Pipeline port

* Initialize Readme

* add environment boundaries seciton; update language

* add finishing touches before PR

* fix broken link

Co-authored-by: Dexter Williams <Dexterw@microsoft.com>
2020-04-22 11:03:35 -05:00
Nicholas M. Iodice 4361882651
fix broken links (#385) 2020-04-21 12:06:37 -05:00
Nicholas M. Iodice 803773feba
Use `terratest-abstraction` Go module for testing (#382)
* Refactored unit and integration tests to use the terratest-abstraction library

* Fixed go module import issues

* updated readme

* added tlsconfig argument

Co-authored-by: AdanOrtiz <48809118+AdanOrtiz@users.noreply.github.com>
2020-04-20 16:28:18 -04:00
Nicholas M. Iodice dfa6ca72ef
Removing apache license from *.yml files (#383) 2020-04-20 13:22:58 -05:00
Dexter Williams ae83f4c7f6
Maven Service Pipeline Port (#379)
* Initial port

* removing licensing

* add maven service usage example w/ generic service name and updated yaml template paths

* removing licensing, update readme

* updating readme

* removing final service name for maven service pipeline

* update service usage docs

* update language for both markdown files

* add pipeline diagram

* update terminology

* remove non-generic implementation details and variables

* update readme w/ image upload language

* remove unrelated section from readme; per suggestion, reworded to highlight purpose

* update language; update puncuation

Co-authored-by: Dexter Williams <Dexterw@microsoft.com>
2020-04-20 12:19:16 -05:00
Hannah K c7b00f40c0
Tweak Documentation for Hello World Tutorial (#381)
* Adding a reference to installing tree.

* Add in the command to show what names for locations are.

* Update the 'fill this in name' to be more precise.

* Add in an image showing what the final result will look like.

* Grammatical fixes, spacing fixes, and adding a bit more clarity in places.

* Undo a change that's not necessary and not in scope
2020-04-17 12:12:58 -05:00
Heba Elayoty 6af7123582
Feature: Add service bus terraform module and terratest (#380)
* Incorporate Service Bus and related changes
2020-04-17 10:11:27 -05:00
Nicholas M. Iodice 67ff20bd1a
pointing referenced variable groups to the latest documentation (#378) 2020-04-15 09:56:46 -05:00
Nicholas M. Iodice 192496c524
Adding more robust pipelines including parallel builds and more robust testing (#377)
Adding more robust pipelines including parallel builds and more robust testing (#377)
2020-04-14 14:55:21 -05:00
Erik Schlegel f31aff95e7
[ ASE ] Allow for app settings to be configured through template variables (#363)
* EOD code checkin

* latest changes

* updating readme

* updating readme

* Adding password based resources to ignore changes lifecycle block

* fixing lint errors

* updating expected object write count

* Adding app settings map to app service module
2019-12-10 16:13:40 -05:00
Dexter Williams 0545885263
Write Quick Start Guide (#358)
* quick start guide - overview plus more

* quick start guide - az hello world readme plus more

* quick start guide - az hello world readme plus more

* quick start guide - revise overview language

* quick start guide - revise overview language

* quick start guide - revise hello word readme

* quick start guide - revise prereqs plus more

* quick start guide - reform Goals and Objectives plus more

* quick start guide - reformat prequisites and walkthrough title

* quick start guide - remove 'walkthrough' keyword plus more

* quick start guide - outline deployment steps for az-hello-world template

* quick start guide - update prereq table, add terraform links, plus more

* quick start guide - update instructions

* quick start guide - refine forking, cloning and local environment setup

* quick start guide - expand steps for setting up local environment

* quick start guide - expand steps for initializing a terraform environment plus more

* quick start guide - expand steps for major deployment step plus more

* quick start guide - revise deploy cobalt major step, expand validate infrastructure step plus more

* quick start guide - diagramming, quickstart gif and explanation updates

add reference to screen2gif

quick start guide - add azure simple cit architecture diagram in two places

quick start guide - resize azure simple hw architecture diagram in two places

quick start guide - revise language in several places.

quick start guide - refine language, remove 'output' reserved word, replace references to environment with workspace plus more

quick start guide - update title for architecture png, update resource validation with screenshots plus more

quick start guide - update architecture diagrams with app service staging slot plus more

quick start guide - address typo

quick start guide - revise header for architecture diagram, reframe language in final steps plus more

quick start guide - Swap order of goals and objectives list

quick start guide - change quick start to quickstart, revamp intro language

quick start guide - swap gif for much longer one with instrutions

quick start guide - update gif size

Update docs/2_QUICK_START_GUIDE.md

quick start guide - update gif size

* quick start guide - punctuation, retitle architecture diagram
2019-10-16 15:13:17 -05:00
Dexter Williams 673963f109
Add easy auth to app service slots (#344)
* add easy auth to app service slots

linting adjustment

update existing tests and docs

forego removal of acr webhook integ tests for commenting out as acr webhook is no longer a feature

run go linter

forego removal of acr webhook integ tests but commented them out as acr webhook is no longer a feature

comment out unused imported go modules

restore ad-application count dependency

* removed dead code (acr webhooks are no longer a feature)

* Revert "removed dead code (acr webhooks are no longer a feature)"

This reverts commit fe2c7b7921.

* terraform linting
2019-10-16 11:19:09 -05:00
Keith Rome bf4963a127
Append PR number to TF Workspace Name when available (#342)
* Append PR number to TF Workspace Name when available
* Re-order names to preserve full WS name on resources with shorter maxlength
* Resolves 'Vault name must be between 3-24 alphanumeric characters. The name must begin with a letter, end with a letter or digit, and not contain consecutive hyphens.'
* Avoid double dashes in names when 'name' var is not present
* scripted workspace name computation
* Configurable PR and resource name isolation
2019-10-09 12:31:49 -05:00
Stephen Henderson a5ff6b7ea3
Enable white-listing features & tests and self-hosted agents (#350)
* Edits to support whitelisting self-hosted build agents.
Also fixes an issue with PNG files when developing Cobalt on Windows machines.
Also has a couple temporary 'prefix' edits to isolate this work stream from the default AZ environment.

* Updating unit test counts

* updating lint error

* updating unit tests

* removing dynamic name key

* formatting

* formatting

* remove workstream-specific prefixes

* update test expectation

* removed out-modded tests

* removed un-needed integration tests

* update test resource count

* disable webhook int testing

* remove source code providing a default for `resource_ip_whitelist`
(demand it is provided at runtime by users)

* remove source code providing a default for `resource_ip_whitelist`
(demand it is provided at runtime by users)

* remove source code providing a default for `resource_ip_whitelist`
(demand it is provided at runtime by users)

* update unit_test to match expectations

* force TF CLI to gen errors for missing-but-required vars

* ensure certain new env vars are exported

* update int test

* remove dead code

* the list of IPs for unit tesings are misleading (these particular values aren't important)
2019-10-07 15:19:52 -05:00
Keith Rome 00d0cc3182
Storyboarded documentation files (#355)
* Storyboarded documentation files

* Update docs/3_NEW_STACK.md

Co-Authored-By: Dexter Williams <dexterwilliams04@gmail.com>

* Use 'template' nomenclature
2019-10-04 10:11:39 -05:00
Erik Schlegel b6a8507590
Ignore service principal password resources from Terraform state management (#351)
* EOD code checkin

* latest changes

* updating readme

* updating readme

* Adding password based resources to ignore changes lifecycle block

* fixing lint errors

* updating expected object write count
2019-10-03 12:56:38 -05:00
Megan Meyer 5b098ac3f9 Cleaned up scripts after conversion to inlined YAML temlates (#343) 2019-10-01 11:10:06 -04:00
Keith Rome d5dbc2bb34
Pass subscription ID to Az CLI commands (#327)
* Explicitly set subscription and resource group for Az CLI commands, using reliable mechanism for resolving subscription ID
* Add explicit params to program blocks as well
2019-09-27 16:03:53 -05:00
Megan Meyer c7ec111d86
Converted external Terraform scripts to YAML templates with inline script (#336) 2019-09-27 15:29:51 -05:00
Nicholas M. Iodice c4127bad73
Remove ACR WebHook in order to fix slot behavior (#324)
* Remove ACR webhook code
* Refactor app service module to not require a container to be specified
  for an app service
* Refactor app service module to not care about changes to specified
  Docker contianer upon subsequent terraform apply commands
* Refactor isolated template to leave the docker container unspecified
* Update tests to reflect new behavior
2019-09-27 15:28:34 -05:00
Nicholas M. Iodice 242e0a9a76
Do not KV delete access policies on incremental deployments (#332)
* Refactor KV Access Policy to all be created in same way

Prior to this change, KV access policies were being created using the
`azurerm_key_vault` resource as well as the
`azurerm_key_vault_access_policy` resource. This is not advised
based on the documentation found here:

https://www.terraform.io/docs/providers/azurerm/r/key_vault.html#access_policy

* Adding explicit dependecy on keyvault ID with permissions for service principal
2019-09-27 10:19:59 -05:00
Megan Meyer a3b4ebd9e1
Converted test-unit to YAML template with inline script (#333) 2019-09-27 09:51:50 -05:00
Megan Meyer 44dbfcf919
Converted set-cicd-flag to a YAML template with inline script (#325)
* Converted set-cicd-flag to a YAML template with inline script

* Removed replaced script.
2019-09-26 11:29:47 -05:00
Megan Meyer 731ac5b9f8
Converted test-integration to YAML template with inline script (#328) 2019-09-26 11:25:17 -05:00
Megan Meyer 4afec7e2fc
Converted lint-check-terraform to YAML with inline script (#317) 2019-09-25 14:09:50 -05:00
Megan Meyer aa6ac80ceb
Converted lint-check-go to YAML template with inline script (#319) 2019-09-25 13:42:28 -05:00
Dexter Williams 75252d6e80
update authn app service with keyvault values for acr pull (#302) 2019-09-25 11:09:20 -05:00
Megan Meyer a9ab3dca06
Remove unused app service variable values 'repository' and 'dockerfile' (#312)
* Removed unused 'repository' and 'dockerfile' args.

* Incremented expected resource count to ensure unit test passing.
2019-09-24 12:03:29 -05:00
Keith Rome a9022bc944
Fix merge conflicts introduced in PR 281 (#303)
* Fix for 'Missing Required Argument' error: https://dev.azure.com/csedallascrew/project-cobalt/_build/results?buildId=1077&view=logs&j=12515dd3-db01-5276-cf61-fd4b99ea9a44&t=4befc5c8-1d47-5752-a825-6a191ebf353e&l=230

* Fix for unit test failure (resource count mismatch): https://dev.azure.com/csedallascrew/project-cobalt/_build/results?buildId=1077&view=logs&j=23d79a1d-d9a1-525d-2e7a-c9d71b04f7d4&t=22f8040a-f218-5e91-8b49-9ebe89937ed3&l=1568

* Removed a third merge error from template

* Corrected output for app service names

* Fix naming of webhooks / resolve integration test failures
2019-09-24 10:21:37 -05:00
E (ianphil) 66cb4c339b Adds docker based azdo build agent (#305) 2019-09-23 11:16:20 -05:00
E (ianphil) 45511028bc Adds dockerfile for build image (#307) 2019-09-23 10:50:03 -05:00
Keith Rome 37722f874f
Resolve issues and concerns with resource naming strategy and naming collisions (#281)
* *Refactor single-service template to use locals block
*Resolve names of resources that can be overridden in tfvars
*Refactor HW template to use locals block
*Moved provider to commons.tf
*Following same pattern as other templates for resource naming
*Compute the basename consistently
*Fallback to admin RG for ACR if not specified in TF vars
*Randomization element for HW template resource names
*Randomization element for simple single-service template
*Terraform insists on determinism for count metaproperty
*Randomization element for ISO template
*Include randomized string in shortened names

* Tdevani workingbranch (#274)

* adding commits to pull out resource name into the templates

* updating az-isolated template for single region to update app service module

* *Use name prefixes on app services too
*updating the iso template documentation for inputs & outputs based on the recent changes
*updating readme for single region with the required variables
*Unit test fixes
*Remove resource names from asserts
*Remove resource names that are indeterminate
*Deterministic trigger for webhook creation
*Set ACR flag in ISO template
*Fix webhook URLs
*Remove hardcoded name checks from integration tests
*Webhook Name must be <= 50 chars
*Escaped res group param
*Resolves problems with AZ CLI commands for management of app service ACR pull and authentication

* Missed during rebase

* Global Web App name is capped at 60 characters total (https://docs.microsoft.com/en-us/azure/architecture/best-practices/naming-conventions#web)

* Proper name of trigger
2019-09-12 15:47:16 -05:00
tasdevani21 6f50be7ce0
Adds the ability to use terraform arguments to the CICD pipeline (#297)
* adding TF_CLI_ARGS as environment variable to pass in additional inputs to the cli

* adding changes to the documentation

* updating the environment template file to take out quotes and leave it as empty

* adding consistency with quotes for apply and destroy

* adding a check to see if the values for the TF_CLI_ARGS are unset or undefined

* removing quotations from the bash scripts for the additional args
2019-09-12 15:15:51 -05:00
Stephen Henderson e6868360c8 Fixes secrets handling in app settings for ACR access (#278)
* isolate the test env from others

* no dbl-quotes when expansion needed? also more settings to populate

* keep the Cobalt defaults for the example vars

* implement workaround for keyvault versioning in app settings

* Update unit tests with expected count

* Removed extra character from unauth of ase.tf
2019-09-12 10:44:07 -05:00
Stephen Henderson 0f806b062f
Fixed pipeline jobs to respect AGENT_POOL (#291)
* add agent `pool` attributes to all `job` defs

* point the `release/provision` jobs at an `agent pool` not a `vmImage`

* move the `pool` def up, alike the build-stage
(and help keep it at the right indentation level)
2019-09-12 10:20:25 -05:00
Megan Meyer 7b24375de5
Update pipelines to support version-n-go process (#280)
* Pipeline updates to support configuration of skipping tests, always running jobs, and overriding Git credentials. Added App-specific pipeline to support version-n-go.

* Support env var > parameter > default for forcing the run and skipping tests. Mask PAT from output.
2019-09-11 16:02:05 -05:00