microsoft / symphony

CI/CD for IaC on multiple orchestrators
MIT License
178 stars 21 forks source link

Support for existing projects/repos in AzDo #206

Open mahomedalid opened 1 year ago

mahomedalid commented 1 year ago

I tried to reuse an existing project in AzDo when provisioning, seems it was not successful, not sure if it supports existing projects or not. I would want to support existing projects and ideally existing repos.

Details:

After the processes finished I could not find the repo, and multiple log errors showed up, including looking for master instead of main.

Remove Bicep IaC modules
Remove Bicep env
Remove Bicep Azdo pipeline
Remove Bicep orchestrators scripts
Create Project AzDo
Starting project creation for project 42433 - Best Buy_ Enabling Automation for Power Platform_Governa
42433 - Best Buy_ Enabling Automation for Power Platform_Governa Git Repo remote URL:
Initialized empty Git repository in /tmp/tmp.yPx532pAIU/.git/
error: refname refs/heads/master not found
fatal: Branch rename failed
Project '42433 - Best Buy_ Enabling Automation for Power Platform_Governa' created.
Configure Service Connections
Creating AzureRM service connection
 Error: Error creating AzureRM service connection
Authorizing service connection for all pipelines.
AzureRM service connection created and authorized
warning: CRLF will be replaced by LF in IAC/Terraform/terraform/01_init/output.tf.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in IAC/Terraform/terraform/02_sql/01_deployment/output.tf.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in IAC/Terraform/terraform/03_webapp/01_deployment/output.tf.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/authorized-resources.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/pipeline-authorize.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/pipeline-create.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/pipeline-variable.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/project-create.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/sc-ado-auth.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/sc-ado-paas.json.
The file will have its original line endings in your working directory
warning: CRLF will be replaced by LF in scripts/install/providers/azdo/templates/service-connection-create-paas.json.
The file will have its original line endings in your working directory
[master (root-commit) 2660c86] Initial commit
 116 files changed, 8480 insertions(+)
 create mode 100644 .azure-pipelines/pipeline.ci.terraform.yml
 create mode 100644 .azure-pipelines/pipeline.destroy.terraform.yml
 create mode 100644 .azure-pipelines/template.terraform.destroy.yml
 create mode 100644 .azure-pipelines/template.terraform.previewdeploy.yml
 create mode 100644 .azure-pipelines/template.terraform.report.yml
 create mode 100644 .azure-pipelines/template.terraform.test.yml
 create mode 100644 .azure-pipelines/template.terraform.validate.yml
 create mode 100644 .credazdo
 create mode 100644 .devcontainer/Dockerfile
 create mode 100644 .devcontainer/devcontainer.env
 create mode 100644 .devcontainer/devcontainer.json
 create mode 100644 .devcontainer/library-scripts/azcli-debian.sh
 create mode 100644 .devcontainer/library-scripts/common-debian.sh
 create mode 100644 .devcontainer/library-scripts/docker-debian.sh
 create mode 100644 .devcontainer/library-scripts/go-debian.sh
 create mode 100644 .devcontainer/library-scripts/terraform-debian.sh
 create mode 100644 .editorconfig
 create mode 100644 .gitattributes
 create mode 100644 .gitignore
 create mode 100644 .gitleaks.toml
 create mode 100644 CODE_OF_CONDUCT.md
 create mode 100644 CONTRIBUTING.md
 create mode 100644 IAC/Terraform/.gitignore
 create mode 100644 IAC/Terraform/.tflint.hcl
 create mode 100644 IAC/Terraform/README.md
 create mode 100755 IAC/Terraform/deploy.sh
 create mode 100644 IAC/Terraform/terraform/01_init/main.tf
 create mode 100644 IAC/Terraform/terraform/01_init/output.tf
 create mode 100644 IAC/Terraform/terraform/01_init/provider.tf
 create mode 100644 IAC/Terraform/terraform/01_init/terraform.tfvars.json
 create mode 100644 IAC/Terraform/terraform/01_init/variables.tf
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/_events.sh
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/main.tf
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/output.tf
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/provider.tf
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/terraform.tfvars.json
 create mode 100644 IAC/Terraform/terraform/02_sql/01_deployment/variables.tf
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/_events.sh
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/main.tf
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/output.tf
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/provider.tf
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/terraform.tfvars.json
 create mode 100644 IAC/Terraform/terraform/03_webapp/01_deployment/variables.tf
 create mode 100644 IAC/Terraform/test/go.mod
 create mode 100644 IAC/Terraform/test/go.sum
 create mode 100644 IAC/Terraform/test/terraform/01_init_unit_test.go
 create mode 100644 IAC/Terraform/test/terraform/02_sql_unit_test.go
 create mode 100644 IAC/Terraform/test/terraform/03_webapp_unit_test.go
 create mode 100644 IAC/Terraform/test/terraform/end_to_end_test.go
 create mode 100644 LICENSE
 create mode 100644 README.md
 create mode 100644 SECURITY.md
 create mode 100644 SUPPORT.md
 create mode 100644 docs/DEVELOPER_EXPERIENCE.md
 create mode 100644 docs/ENVIRONMENT.md
 create mode 100644 docs/GETTING_STARTED.md
 create mode 100644 docs/SAMPLE_APP_ARCHITECTURE.md
 create mode 100644 docs/TESTING.md
 create mode 100644 docs/WORKFLOW.md
 create mode 100644 docs/images/PR_workflow.drawio
 create mode 100644 docs/images/destroy_workflow.png
 create mode 100644 docs/images/environment.PNG
 create mode 100644 docs/images/pr_workflow.png
 create mode 100644 docs/images/symphony.drawio
 create mode 100644 docs/images/workflow.png
 create mode 100644 env/terraform/dev/01_init.tfvars.json
 create mode 100644 env/terraform/dev/02_sql_01_deployment.tfvars.json
 create mode 100644 env/terraform/dev/03_webapp_01_deployment.tfvars.json
 create mode 100644 env/terraform/prod/01_init.tfvars.json
 create mode 100644 env/terraform/prod/02_sql_01_deployment.tfvars.json
 create mode 100644 env/terraform/prod/03_webapp_01_deployment.tfvars.json
 create mode 100755 install.sh
 create mode 100644 scripts/.gitkeep
 create mode 100644 scripts/install/banner.sh
 create mode 100755 scripts/install/cli/symphony
 create mode 100644 scripts/install/contents.sh
 create mode 100644 scripts/install/providers/azdo/azdo.sh
 create mode 100644 scripts/install/providers/azdo/templates/authorized-resources.json
 create mode 100644 scripts/install/providers/azdo/templates/pipeline-authorize.json
 create mode 100644 scripts/install/providers/azdo/templates/pipeline-create.json
 create mode 100644 scripts/install/providers/azdo/templates/pipeline-variable.json
 create mode 100644 scripts/install/providers/azdo/templates/project-create.json
 create mode 100644 scripts/install/providers/azdo/templates/sc-ado-auth.json
 create mode 100644 scripts/install/providers/azdo/templates/sc-ado-paas.json
 create mode 100644 scripts/install/providers/azdo/templates/sc-ado-server.json
 create mode 100644 scripts/install/providers/azdo/templates/service-connection-create-paas.json
 create mode 100644 scripts/install/providers/azdo/templates/service-connection-create-server.json
 create mode 100644 scripts/install/providers/github/github.sh
 create mode 100755 scripts/install/provision.sh
 create mode 100755 scripts/orchestrators/_helpers.sh
 create mode 100755 scripts/orchestrators/_setup_helpers.sh
 create mode 100755 scripts/orchestrators/git.diff.sh
 create mode 100755 scripts/orchestrators/iac.tf.destroy.sh
 create mode 100755 scripts/orchestrators/iac.tf.lint.sh
 create mode 100755 scripts/orchestrators/iac.tf.previewdeploy.sh
 create mode 100755 scripts/orchestrators/iac.tf.sh
 create mode 100755 scripts/orchestrators/iac.tf.statebackup.sh
 create mode 100755 scripts/orchestrators/iac.tf.test.sh
 create mode 100755 scripts/orchestrators/iac.tf.validate.sh
 create mode 100755 scripts/orchestrators/scanners.sh
 create mode 100755 scripts/orchestrators/setup-age.sh
 create mode 100755 scripts/orchestrators/setup-azcli.sh
 create mode 100755 scripts/orchestrators/setup-gitleaks.sh
 create mode 100755 scripts/orchestrators/setup-go.sh
 create mode 100755 scripts/orchestrators/setup-sops.sh
 create mode 100755 scripts/orchestrators/setup-terraform.sh
 create mode 100755 scripts/orchestrators/setup-tflint.sh
 create mode 100755 scripts/orchestrators/tests.runner.sh
 create mode 100644 scripts/utilities/http.sh
 create mode 100644 scripts/utilities/json.sh
 create mode 100644 scripts/utilities/os.sh
 create mode 100644 scripts/utilities/pipeline_logger.sh
 create mode 100644 scripts/utilities/service_principal.sh
 create mode 100644 scripts/utilities/shell_inputs.sh
 create mode 100644 scripts/utilities/shell_logger.sh
 create mode 100644 setup.sh
Creating Azure Pipelines
Create Pipeline AzDo
Creating pipelines...
Created Pipeline CI-Deploy - id:
Created Pipeline CI-Deploy - id:
Create Pipeline AzDo
Creating pipelines...
Created Pipeline Destroy - id:
Created Pipeline Destroy - id:
[master 4d141df] Update resource names
 6 files changed, 22 insertions(+), 22 deletions(-)
fatal: no path specified; see 'git help pull' for valid url syntax
~/repos/symphony
mahomedalid commented 1 year ago

It seems that my PAT token had not enough permissions, and it is validating the project already exists when it has enough permissions. This particular part of the issue is related to #165, although the main ask of support existing projects remains.

hattan commented 1 year ago

Thanks @mahomedalid - currently there is only support for creating a new project/repo. Bringing an existing repo or project is something that is in the backlog, thanks.