{"id":15752561,"url":"https://github.com/devigned/consul-ma","last_synced_at":"2025-03-31T07:27:03.750Z","repository":{"id":145071286,"uuid":"156900743","full_name":"devigned/consul-ma","owner":"devigned","description":"Hashicorp Consul Azure managed application demo","archived":false,"fork":false,"pushed_at":"2018-11-19T17:39:08.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-06T12:13:11.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devigned.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-09T18:14:53.000Z","updated_at":"2018-11-19T17:39:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"d911d224-02db-4c72-aa39-035daa1068e3","html_url":"https://github.com/devigned/consul-ma","commit_stats":{"total_commits":9,"total_committers":2,"mean_commits":4.5,"dds":"0.11111111111111116","last_synced_commit":"208d7a47ce0cdc6882520015b880d9d04d3df7d2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devigned%2Fconsul-ma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devigned%2Fconsul-ma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devigned%2Fconsul-ma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devigned%2Fconsul-ma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devigned","download_url":"https://codeload.github.com/devigned/consul-ma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246431653,"owners_count":20776259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-04T07:02:56.503Z","updated_at":"2025-03-31T07:27:03.724Z","avatar_url":"https://github.com/devigned.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Consul Managed Application Demo\nHashicorp Consul managed application demo to illustrate the functionality of Azure managed apps.\n\n## Overall solution\nThe Consul managed application shows a proof of concept of creating a managed application, UI components and deployment \ntemplate to give a bare bones installation of Hashicorp Consul featuring a VNET, Network Security Group and Subnet.\n\n## Getting Started\nYou will need to provision some base infrastructure in Azure to get started. This is handled via the azure-deploy.tf\ntemplate. Just run the following:\n```bash\nterraform init\n# please replace the password in the next line\nterraform plan -var 'service_principal_password=${your_super_secret_password}' -out ./plan.out\nterraform apply\n```\nThe outputs from the `terraform apply` should now be copy and pasted into a new `.env` file in the root of the project.\nAfter the `.env` file has been created, run the following:\n```bash\nmake image\nmake\n```\nMake should run the following steps:\n-   Build the VM image required for the VMSS deployment\n-   Copy `./provsion-script.sh`, the rendered version of `./provision-script-template.sh`, into the deployment storage \n    container, which will be used in the VMSS deployment\n-   Package and publish the managed application\n\n## Make Tasks\n-   `make` build and publish everything except the VM image\n-\t`make consul-start-script` injects service principal credentials into the vmss provisioning script run when the vm \n    is provisioned. This is the script that starts Consul.\n-\t`make image` will build the base VM image for the VMSS used in the managed app using Hashicorp Packer. This installs \n    Consul 1.4.0, supervisord, Azure CLI and a handful of other software that we wouldn’t want to install during the \n    provisioning phase of the vmss.\n-\t`make pkg` will zip up the managed application, which consists of \n    [the UI definition file](./createUiDefinition.json) and [the deployment template](./mainTemplate-template.json). It \n    does a transform of the deployment package to inject the storage account name and key before zip.\n-\t`make publish` uploads the manage app package and creates the manged app definition with az cli.\n-   `./sideload-createuidef.sh` will provide a URI to allow for quick UI debugging while building new UI components.\n\n## Developing\nWhen making changes to the managed application, one should simply need to call `make` to republish the managed \napplication definition as well as all dependant resources.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevigned%2Fconsul-ma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevigned%2Fconsul-ma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevigned%2Fconsul-ma/lists"}