├── .final_builds ├── jobs │ ├── admin_ui │ │ └── index.yml │ ├── deregister_admin_ui │ │ └── index.yml │ └── register_admin_ui │ │ └── index.yml ├── license │ └── index.yml └── packages │ ├── admin_ui │ └── index.yml │ ├── common │ └── index.yml │ ├── libpq │ └── index.yml │ ├── libyaml │ └── index.yml │ ├── mysqlclient │ └── index.yml │ ├── ruby │ └── index.yml │ ├── sqlite │ └── index.yml │ └── uaac │ └── index.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── config ├── blobs.yml └── final.yml ├── examples ├── admin-ui-aws.yml ├── admin-ui-openstack.yml └── admin-ui-warden.yml ├── jobs ├── admin_ui │ ├── monit │ ├── spec │ └── templates │ │ ├── admin_ui.yml.erb │ │ ├── admin_ui_ctl.erb │ │ ├── cf-registrar.config.yml.erb │ │ └── cf-registrar_ctl.erb ├── deregister_admin_ui │ ├── monit │ ├── spec │ └── templates │ │ ├── bin │ │ ├── deregister_admin_ui │ │ └── run │ │ ├── config │ │ └── .gitkeep │ │ ├── data │ │ └── properties.sh.erb │ │ └── helpers │ │ ├── ctl_setup.sh │ │ └── ctl_utils.sh └── register_admin_ui │ ├── monit │ ├── spec │ └── templates │ ├── bin │ ├── register_admin_ui │ └── run │ ├── config │ └── .gitkeep │ ├── data │ └── properties.sh.erb │ └── helpers │ ├── ctl_setup.sh │ └── ctl_utils.sh ├── make_manifest ├── packages ├── admin_ui │ ├── packaging │ ├── pre_packaging │ └── spec ├── common │ ├── packaging │ └── spec ├── libpq │ ├── packaging │ └── spec ├── libyaml │ ├── packaging │ └── spec ├── mysqlclient │ ├── packaging │ └── spec ├── ruby │ ├── packaging │ └── spec ├── sqlite │ ├── packaging │ └── spec └── uaac │ ├── packaging │ ├── pre_packaging │ └── spec ├── releases ├── .gitkeep ├── admin-ui ├── admin-ui-1.yml ├── admin-ui-10.yml ├── admin-ui-11.yml ├── admin-ui-2.yml ├── admin-ui-3.yml ├── admin-ui-4.yml ├── admin-ui-5.yml ├── admin-ui-6.yml ├── admin-ui-7.yml ├── admin-ui-8.yml ├── admin-ui-9.yml └── index.yml ├── src ├── common │ └── utils.sh └── uaac │ ├── Gemfile │ └── Gemfile.lock └── templates ├── admin-ui-deployment.yml └── warden-stub.yml /.final_builds/jobs/admin_ui/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | b7b73ae4d99a58ffef42febf3f9c1afed03fe722: 4 | blobstore_id: 783a6e13-d7fe-4043-9532-3b1fcd39b74c 5 | version: 1 6 | sha1: f95b3b9037b6d5e982010c394cb1a0758d8c99ef 7 | e026b775a8e67f1f3b826106b6114530f2f474d7: 8 | blobstore_id: ad766c56-507b-408d-9ab8-2ff6e8f38ec1 9 | version: 2 10 | sha1: 43718fd3b8b9869e30d1e0fdee3c69f25da21075 11 | 7cdeb82797bb384c76104567506975a0a9f79844: 12 | blobstore_id: 8458b0ac-eef8-449d-9cf5-f860ca333ed2 13 | version: 7cdeb82797bb384c76104567506975a0a9f79844 14 | sha1: cc4baeb3eb43f375b13f45cec98f9462def6e0e0 15 | f8b1a9f7f77fa1ea1ed87530987ec757dd52e754: 16 | version: f8b1a9f7f77fa1ea1ed87530987ec757dd52e754 17 | sha1: b6188dd8a4cb7132d58407db89cfcdc040193823 18 | blobstore_id: c7396af9-8f2b-403b-94de-5b758001d911 19 | b669acee652f10f4e507860f538c6a4f473b998e: 20 | version: b669acee652f10f4e507860f538c6a4f473b998e 21 | sha1: 7b5721b2bd52ad3193e9a4d9ceebae26d6650c1a 22 | blobstore_id: 89914953-2672-4f2f-817d-455378ad939f 23 | 88427349e628d308df858575513c85527fff59ea: 24 | version: 88427349e628d308df858575513c85527fff59ea 25 | sha1: 7c40037b25b45389801aa3ae487c36df8e75e125 26 | blobstore_id: dac4fead-f44d-465d-9307-66af0a32b7e0 27 | 7afbda246cf371c4265670a6081f68699fffa21e: 28 | version: 7afbda246cf371c4265670a6081f68699fffa21e 29 | sha1: 3bc786a42e406130febe7c2b22fab0b68911c092 30 | blobstore_id: 893bd160-0052-4f9c-b6a6-b7bd636b74e4 31 | b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d: 32 | version: b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d 33 | sha1: 90ba89c85f7cdf6cf495b5a54f2101ff2a1c0b9f 34 | blobstore_id: b12dea8a-5f79-4422-afd7-d485747a4595 35 | a998e16b68776af28198909591c18bd92868392b: 36 | version: a998e16b68776af28198909591c18bd92868392b 37 | sha1: f759a337c5d3676ddacfbe1164c319d9015307fa 38 | blobstore_id: 454099c6-f9c9-4436-8bf0-fd337e126202 39 | format-version: '2' 40 | -------------------------------------------------------------------------------- /.final_builds/jobs/deregister_admin_ui/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 78f493bfb0c56365216dfaf44d3c242bc5161ced: 4 | version: 78f493bfb0c56365216dfaf44d3c242bc5161ced 5 | sha1: 3717fdf57b366f2ec07b4ebeba88fa452c8288af 6 | blobstore_id: 5b282cd6-8a23-4fe7-9539-64b6d28a95c0 7 | 934fd06544cad9582cdec54228ba7ca020951589: 8 | version: 934fd06544cad9582cdec54228ba7ca020951589 9 | sha1: 923990d1547da985e9fc9b42f83039d911437b3c 10 | blobstore_id: 001f4f2e-69c0-40dd-ac74-2e4f28cecb9e 11 | 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b: 12 | version: 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b 13 | sha1: 9bca28cd831e865888294b89ee89382fe42c2914 14 | blobstore_id: 5cf3e278-460d-4d19-92d6-7df4b757e229 15 | format-version: '2' 16 | -------------------------------------------------------------------------------- /.final_builds/jobs/register_admin_ui/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 69aab58a8911f9d8804ad009c7f5d14ebc9af4f1: 4 | version: 69aab58a8911f9d8804ad009c7f5d14ebc9af4f1 5 | sha1: 67e094ebc653fb83708b7ef1a555bc7ca962b3e7 6 | blobstore_id: f0528621-c7d0-4540-a661-185cf3d7ef24 7 | e966d9d653d167dca1d69dbf4245bb8a21792548: 8 | version: e966d9d653d167dca1d69dbf4245bb8a21792548 9 | sha1: bb5fade5e1bc61c6af7bb00423d16ea9b8f05a3f 10 | blobstore_id: 6e246d9b-ed44-498a-bb49-55e3a8eb4f9e 11 | 609ba546207f824d8e04f1b1162c325bc66f604d: 12 | version: 609ba546207f824d8e04f1b1162c325bc66f604d 13 | sha1: dfeb63c8880c7732fa3ec59c1b994e352c1e59ab 14 | blobstore_id: 8590eab0-78a6-4774-896f-a698db706721 15 | 63f74481393ba658b009d04a8ef5a2ac8970f934: 16 | version: 63f74481393ba658b009d04a8ef5a2ac8970f934 17 | sha1: 42eba4c0e6dd04ddd3da99e3bfeffa541f7d8720 18 | blobstore_id: 9b43bff2-39f8-404a-8232-b25c37041240 19 | format-version: '2' 20 | -------------------------------------------------------------------------------- /.final_builds/license/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003: 4 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 5 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 6 | blobstore_id: 9c810487-2114-4d83-aaea-6b434ee5f11e 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/admin_ui/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 8be860fd1157b23dd352ee5ef1de7e82e0b3832e: 4 | blobstore_id: c078345b-bb65-4ed2-820b-7fc50422a5ed 5 | version: 1 6 | sha1: 422b540bcd3103dbbdeed0de2079126cdc7acaef 7 | c7e684aad4dcf7d00abeb591f92af766a77e94cd: 8 | blobstore_id: 3b2503d6-72a2-4189-ad5f-78fbdad56c4e 9 | version: 2 10 | sha1: 6be2ca84587f2168709d6718b316c4bd7ccc54b3 11 | 9deff9a883ab9f2a32df0063ed77fa65d17c96ee: 12 | blobstore_id: 79266387-2d97-45d1-a170-fe2cf10a0981 13 | version: 9deff9a883ab9f2a32df0063ed77fa65d17c96ee 14 | sha1: ee52344d393242b3b141245ea3c04aa95bd8216d 15 | d8d5adcd22b78b9ec17637414e48b372a910420a: 16 | version: d8d5adcd22b78b9ec17637414e48b372a910420a 17 | sha1: 8e60f3a0a8317861fbd328b79e4824c17e155ae0 18 | blobstore_id: 69a3a976-cbcb-4882-bc50-d9ecfa9a165e 19 | f2cf62d93b6c3e2a056852414b214ff2aa7d8b17: 20 | version: f2cf62d93b6c3e2a056852414b214ff2aa7d8b17 21 | sha1: 7f2bf49276baf3674c29237a020dd16aaf1fdb2c 22 | blobstore_id: df1fdb83-2bd3-428b-bc57-3593c279e967 23 | dc07544c951469dffe507dc85d6c8f6a773b60a0: 24 | version: dc07544c951469dffe507dc85d6c8f6a773b60a0 25 | sha1: 759ab83e6bc06b82ee353d42fae6ad6dec26b141 26 | blobstore_id: 9d5fadd4-4143-4bcd-9110-84a2d3e8c1e7 27 | 67a5687490bdf7f0e683c935532fb7e9d35a9423: 28 | version: 67a5687490bdf7f0e683c935532fb7e9d35a9423 29 | sha1: cff5ecf16cf92b3a5b76b574de6c04165321b3b1 30 | blobstore_id: 67eba114-2d95-4de3-af8b-99f337519aaf 31 | 197e9b9c1ff32c131c0f9a09914df977fc4e4fcb: 32 | version: 197e9b9c1ff32c131c0f9a09914df977fc4e4fcb 33 | sha1: a715f4408e87eb13b1b1d9cdc8c54f140ad73e49 34 | blobstore_id: 516f7a42-a28c-4dce-bdd6-5c619ebf2fc5 35 | dc398a5856bb5c80b4447432ce9392844023a960: 36 | version: dc398a5856bb5c80b4447432ce9392844023a960 37 | sha1: 3e402ea1059fea7479562a3fc045e9f63f6e0b6d 38 | blobstore_id: 5d845121-fa13-466b-942f-d284718d36a2 39 | 8cc65d7327dec6814701265fa66d5b8496f572f7: 40 | version: 8cc65d7327dec6814701265fa66d5b8496f572f7 41 | sha1: 17654ba829e44e20cd7ca995fd4301fdc1e9545c 42 | blobstore_id: c04b8d1d-772e-4ccc-a8ab-87b556d7c7df 43 | format-version: '2' 44 | -------------------------------------------------------------------------------- /.final_builds/packages/common/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | !binary "OGMwMTI1N2ViZTZmZGRhNmY0NWVmODk5NmYwYWRiNTQwMDFlODU1ZQ==": 4 | blobstore_id: 05779473-b5fd-4391-b396-8a2da70965c3 5 | version: 1 6 | sha1: !binary |- 7 | MzhkMmE1ZTU1OWI0NTAxNDc1YjYyZmRiYTQ4MTA4NzRmZmY2MmIxZQ== 8 | !binary "NjI0MWVkNDI2YjU5ZDA5ZTUxOTllZWU4ZWU3MWNkYTNiMzVkNmMwNA==": 9 | blobstore_id: d3bf2d62-6894-4f97-8b69-ebc3dd1c46c3 10 | version: !binary |- 11 | NjI0MWVkNDI2YjU5ZDA5ZTUxOTllZWU4ZWU3MWNkYTNiMzVkNmMwNA== 12 | sha1: !binary |- 13 | YjQ1MjdjNjJmZDI5ZjUwYjNiNTcwZGUzZDk4OTEyYTFmNDI0NTc2NQ== 14 | !binary "NDk4N2Q2NzRjNzQ4YzgzYWEwYmMyZDQ5NjVlNzM2NTllODc5MjBjNw==": 15 | version: !binary |- 16 | NDk4N2Q2NzRjNzQ4YzgzYWEwYmMyZDQ5NjVlNzM2NTllODc5MjBjNw== 17 | sha1: !binary |- 18 | ODkwYzdjOTQ2NWUzNWI3Y2EzOWQxMjdjNTQyMzhhMjAyN2Q0ZWM0YQ== 19 | blobstore_id: 36c48c63-8ae9-4fa6-ab6d-115ca1c4d7b9 20 | format-version: '2' 21 | -------------------------------------------------------------------------------- /.final_builds/packages/libpq/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | !binary "ODI2YmRlYjE3YjA4N2E0OTUwYzIzMmYxODMwZjE1YjFhZDc5M2RhYQ==": 4 | version: !binary |- 5 | ODI2YmRlYjE3YjA4N2E0OTUwYzIzMmYxODMwZjE1YjFhZDc5M2RhYQ== 6 | sha1: !binary |- 7 | YjhhNTZlZmQzNDAwYTAyNWIwYzQ5ZDlmZDUyNTJkOTk3ZWExNTI0MA== 8 | blobstore_id: 9a5624af-2a2b-4977-b701-f2f61dd3ac00 9 | format-version: '2' 10 | -------------------------------------------------------------------------------- /.final_builds/packages/libyaml/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 2c8350bc6b60b7c50f2b9d7d19ed02e19b72bf38: 4 | blobstore_id: 88141dbb-a2fb-477e-b5ba-02506f79f4b0 5 | version: 1 6 | sha1: e5940e48521fd45aab5dc3df965d5b9863291bac 7 | 681bb455c35ef17cabbd41344f924cb61c2bb8e7: 8 | blobstore_id: 45068e8b-4789-40ce-aa14-c3e023051d80 9 | version: 681bb455c35ef17cabbd41344f924cb61c2bb8e7 10 | sha1: a8ae1088bc79d446ae1f0616371e4e32cf345d0f 11 | 4d1c0070ed24485f93562dd8a214dbc0d98633e8: 12 | version: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 13 | sha1: 2f5407d8c20bc4ffda8ed1cdb3c8699f44ef7fd4 14 | blobstore_id: 4c59725a-8dec-40e4-84d3-d7fb8b51eb10 15 | 099411f13a0635d7cf46365ab79cdb1fdf16d86d: 16 | version: 099411f13a0635d7cf46365ab79cdb1fdf16d86d 17 | sha1: 09b65bcaa58277b16df61bb10cc9b5a403da92ff 18 | blobstore_id: 14482f67-1346-4a00-bad3-ba0dc0e72ed6 19 | format-version: '2' 20 | -------------------------------------------------------------------------------- /.final_builds/packages/mysqlclient/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 8b5d9ce287341048377997a9b3fe4ff3e6a1c68f: 4 | version: 8b5d9ce287341048377997a9b3fe4ff3e6a1c68f 5 | sha1: 2428c5f0fe3ea341be7387b6770a0683b7b450bb 6 | blobstore_id: 37d83e86-43f0-419b-955e-7032a863c99b 7 | d7d399ebad3289a0ee70a78663daa6ee41cff6cd: 8 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 9 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 10 | blobstore_id: 815f7c97-3223-43a4-a956-bcf36fc7c547 11 | format-version: '2' 12 | -------------------------------------------------------------------------------- /.final_builds/packages/ruby/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 2aeb604c9cbb2cb7d27bed2e92d9d8c913e4488f: 4 | blobstore_id: 1697b9b3-dfe5-4ef8-8d37-2d242fa93aab 5 | version: 1 6 | sha1: 56eb810d191c6253fb4882187b3b984f9b511589 7 | c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4: 8 | blobstore_id: 0a9d6dc2-3977-4ec4-a600-a823a4ad09b4 9 | version: c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4 10 | sha1: 2dae18aea1b550bec7ccd6cc0e9ee889876eeb81 11 | c2d6a633218ca411eaaf4ef3af2e2b2094e109f9: 12 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 13 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 14 | blobstore_id: 5f1374e3-8a16-4fa3-b093-762ae5c6ead5 15 | format-version: '2' 16 | -------------------------------------------------------------------------------- /.final_builds/packages/sqlite/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | !binary "YWY0NGQ0NGU1OGZmZmQwNjk0NTljYjYzZjZmY2MzN2M2MzI2ZTM3MA==": 4 | version: !binary |- 5 | YWY0NGQ0NGU1OGZmZmQwNjk0NTljYjYzZjZmY2MzN2M2MzI2ZTM3MA== 6 | sha1: !binary |- 7 | NDNjN2MyZTg2ZDY5YmYzN2ZiODM1OGFmNjgwZDkzM2JkNzM0ZGFmZA== 8 | blobstore_id: 767c86ea-e4e7-479a-bb94-c883fcf134ee 9 | format-version: '2' 10 | -------------------------------------------------------------------------------- /.final_builds/packages/uaac/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 73b451bc38c388f720f85977d47f1d7e996c0776: 4 | version: 73b451bc38c388f720f85977d47f1d7e996c0776 5 | sha1: 78c7ac9ae354670bf5751abc1ee84b2a59dba583 6 | blobstore_id: 4690c1e8-8a97-470f-b557-82026fda939b 7 | 2b9b7717cfe1a7ad212605707b9dd9de88c925ef: 8 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 9 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 10 | blobstore_id: e3c0f002-f8cb-4439-a96a-1b13860b8981 11 | format-version: '2' 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | config/dev.yml 2 | config/private.yml 3 | releases/*.tgz 4 | dev_releases 5 | .blobs 6 | blobs 7 | .dev_builds 8 | .idea 9 | .DS_Store 10 | .final_builds/jobs/**/*.tgz 11 | .final_builds/packages/**/*.tgz 12 | *.swp 13 | *~ 14 | *# 15 | #* 16 | /admin-ui.local.yml 17 | releases/**/*.tgz 18 | releases/admin-ui 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/admin_ui"] 2 | path = src/admin_ui 3 | url = https://github.com/cloudfoundry-incubator/admin-ui.git 4 | [submodule "src/vcap-common"] 5 | path = src/vcap-common 6 | url = https://github.com/cloudfoundry/vcap-common.git 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Stark & Wayne LLC 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Bosh release for CloudFoundry NG Admin UI 2 | ========================================= 3 | 4 | One of the fastest ways to get [admin-ui](https://github.com/cloudfoundry-incubator/admin-ui) running on any infrastructure is too deploy this bosh release. 5 | 6 | Usage 7 | ----- 8 | 9 | To use this BOSH release, first upload it to your bosh: 10 | 11 | ``` 12 | bosh upload release https://bosh.io/d/github.com/cloudfoundry-community/admin-ui-boshrelease 13 | ``` 14 | 15 | To deploy it you will need the source repository that contains templates: 16 | 17 | ``` 18 | git clone https://github.com/cloudfoundry-community/admin-ui-boshrelease.git 19 | cd admin-ui-boshrelease 20 | git checkout v11 21 | git submodule update 22 | ``` 23 | 24 | ### bosh-lite/warden deployments 25 | 26 | Make sure you have [deployed Cloud Foundry](https://github.com/cloudfoundry/bosh-lite#deploy-cloud-foundry) first. With Cloud Foundry deployed to your bosh-lite run: 27 | 28 | ``` 29 | ./make_manifest warden 30 | bosh deploy 31 | bosh run errand register_admin_ui 32 | ``` 33 | 34 | Now you can browse to [http://admin.bosh-lite.com](http://admin.bosh-lite.com) and login with your cloud foundry admin user. 35 | 36 | ### Errands 37 | When deployed you can register the admin-ui with the uaa by running: 38 | ``` 39 | bosh run errand register_admin_ui 40 | ``` 41 | 42 | To deregister the admin-ui you can run: 43 | ``` 44 | bosh run errand deregister_admin_ui 45 | ``` 46 | 47 | Create new final release 48 | ------------------------ 49 | 50 | To create a new final release you need to get read/write API credentials to the [@cloudfoundry-community](https://github.com/cloudfoundry-community) s3 account. 51 | 52 | Please email [Dr Nic Williams](mailto:drnicwilliams@gmail.com) and he will create unique API credentials for you. 53 | 54 | Create a `config/private.yml` file with the following contents: 55 | 56 | ```yaml 57 | --- 58 | blobstore: 59 | s3: 60 | access_key_id: ACCESS 61 | secret_access_key: PRIVATE 62 | ``` 63 | 64 | You can now create final releases for everyone to enjoy! 65 | 66 | ``` 67 | bosh create release 68 | # test this dev release 69 | git commit -m "updated admin-ui" 70 | bosh create release --final 71 | git commit -m "creating vXYZ release" 72 | git tag vXYZ 73 | git push origin master --tags 74 | ``` 75 | -------------------------------------------------------------------------------- /config/blobs.yml: -------------------------------------------------------------------------------- 1 | --- 2 | ruby/bundler-1.2.1.gem: 3 | object_id: 458d4d9f-aa0e-488d-94d9-ca8b50d6dfb3 4 | sha: 0cbe6ad7a41f064d6c11c1058465fffb1bd58069 5 | size: 226816 6 | ruby/ruby-1.9.3-p448.tar.gz: 7 | object_id: 3fe8a983-f754-44c4-8694-0fba414eb5a7 8 | sha: c7f736e3bc1ca1e6619a9121837dd0840aad77ce 9 | size: 12559260 10 | ruby/rubygems-1.8.24.tgz: 11 | object_id: 824b70e4-8269-4e4b-a347-de17333f7971 12 | sha: 30f27047e74f7943117736a0d3e224994fee0905 13 | size: 380101 14 | postgres/postgresql-9.0.3.tar.gz: 15 | object_id: 4c28f40f-3d59-4015-9765-bead803093ad 16 | sha: c8fb5d1d7930e78211e554bb5751183a8148d0ee 17 | size: 18335858 18 | sqlite/sqlite-autoconf-3070500.tar.gz: 19 | object_id: f603856f-11db-4b56-91dc-5c6f3ce6fedd 20 | sha: 4e1338497b8da50b84307191bb3418e9ec5715d7 21 | size: 1551070 22 | mysql/client-5.1.62-rel13.3-435-Linux-x86_64.tar.gz: 23 | object_id: 6adad680-4e5d-4e0b-b419-09a951455928 24 | sha: 6e5a17195831688a5f14f20aa5d9cd5d5f4164db 25 | size: 4105211 26 | mysqlclient/mysql-connector-c-6.1.6-src.tar.gz: 27 | object_id: e640b8d3-ae0f-4103-8d44-c0f9644d7c41 28 | sha: 2444586365c2c58e7ca2397d4617e5fe19f9f246 29 | size: 3475044 30 | libyaml/yaml-0.1.5.tar.gz: 31 | object_id: 3b7b6111-e9a6-468b-8035-46ff800224fd 32 | sha: 8b78cb9f759c7d80db8a7328c0ebecfe34fde737 33 | size: 504897 34 | ruby/bundler-1.11.2.gem: 35 | object_id: 2c164a12-252b-402b-a21d-bc73cab1b438 36 | sha: 8eb956dec72da753d3d2a2126c78508b17af434e 37 | size: 263168 38 | ruby/ruby-2.2.4.tar.gz: 39 | object_id: df2a8e6d-04cd-4801-b657-9f975aeca8c5 40 | sha: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 41 | size: 16638151 42 | libyaml/yaml-0.1.6.tar.gz: 43 | object_id: 5b63285a-fb3f-4508-bbbe-d5beedb7c109 44 | sha: f3d404e11bec3c4efcddfd14c42d46f1aabe0b5d 45 | size: 503012 46 | -------------------------------------------------------------------------------- /config/final.yml: -------------------------------------------------------------------------------- 1 | --- 2 | final_name: admin-ui 3 | blobstore: 4 | provider: s3 5 | options: 6 | bucket_name: admin-ui-boshrelease 7 | -------------------------------------------------------------------------------- /examples/admin-ui-aws.yml: -------------------------------------------------------------------------------- 1 | compilation: 2 | cloud_properties: 3 | availability_zone: us-west-2a 4 | instance_type: t2.medium 5 | network: default 6 | reuse_compilation_vms: true 7 | workers: 4 8 | director_uuid: ### YOUR UUID ### 9 | jobs: 10 | - default_network: 11 | - name: default 12 | static_ips: 13 | - 10.0.66.0 14 | instances: 1 15 | name: admin_ui 16 | networks: 17 | - name: default 18 | static_ips: 19 | - 10.0.66.0 20 | persistent_disk: 5120 21 | resource_pool: default 22 | templates: 23 | - name: admin_ui 24 | - instances: 1 25 | lifecycle: errand 26 | name: register_admin_ui 27 | networks: 28 | - name: default 29 | resource_pool: errand 30 | template: register_admin_ui 31 | - instances: 1 32 | lifecycle: errand 33 | name: deregister_admin_ui 34 | networks: 35 | - name: default 36 | resource_pool: errand 37 | template: deregister_admin_ui 38 | meta: 39 | stemcell: 40 | name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent 41 | version: 3196 42 | name: admin-ui 43 | networks: 44 | - name: default 45 | subnets: 46 | - cloud_properties: 47 | security_groups: 48 | - sg-01f24c66 49 | - sg-02f24c65 50 | - sg-09f24c6e 51 | subnet: ### YOUR SUBNET ID ### 52 | dns: 53 | - 10.0.0.2 54 | gateway: 10.0.64.1 55 | range: 10.0.64.0/19 56 | reserved: 57 | - 10.0.64.0 - 10.0.65.255 58 | - 10.0.66.20 - 10.0.95.255 59 | static: 60 | - 10.0.66.0 - 10.0.66.9 61 | type: manual 62 | properties: 63 | admin_ui: 64 | admins: 65 | - admin 66 | ccdb: 67 | address: 10.0.65.51 68 | database: ccdb 69 | password: admin 70 | port: 5524 71 | scheme: postgres 72 | username: ccadmin 73 | cloud_controller_ssl_verify_none: true 74 | cloud_controller_uri: https://api.cf.### YOUR DOMAIN ### 75 | max_memory: 2 Gb 76 | uaa: 77 | admin_client_secret: admin-secret 78 | client: 79 | id: admin-ui 80 | secret: admin-ui-secret 81 | scopes: 82 | admin: null 83 | user: null 84 | url: https://uaa.cf.### YOUR DOMAIN ### 85 | uaadb: 86 | address: 10.0.65.51 87 | database: uaadb 88 | password: admin 89 | port: 5524 90 | scheme: postgres 91 | username: uaaadmin 92 | uri: admin.cf.### YOUR DOMAIN ### 93 | users: null 94 | cc: 95 | srv_api_uri: https://api.cf.### YOUR DOMAIN ### 96 | databases: 97 | address: 10.0.65.51 98 | db_scheme: postgres 99 | port: 5524 100 | roles: 101 | - name: ccadmin 102 | password: admin 103 | tag: admin 104 | - name: uaaadmin 105 | password: admin 106 | tag: admin 107 | nats: 108 | address: 10.0.65.3 109 | password: nats 110 | port: 4222 111 | user: nats 112 | networks: 113 | apps: default 114 | ssl: 115 | skip_cert_verify: true 116 | system_domain: cf.### YOUR DOMAIN ### 117 | uaa: 118 | admin: 119 | client_secret: admin-secret 120 | url: https://uaa.cf.### YOUR DOMAIN ### 121 | releases: 122 | - name: admin-ui 123 | version: latest 124 | resource_pools: 125 | - cloud_properties: 126 | availability_zone: us-west-2a 127 | instance_type: t2.medium 128 | name: default 129 | network: default 130 | stemcell: 131 | name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent 132 | version: 3196 133 | - cloud_properties: 134 | availability_zone: us-west-2a 135 | instance_type: t2.small 136 | name: errand 137 | network: default 138 | stemcell: 139 | name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent 140 | version: 3196 141 | update: 142 | canaries: 1 143 | canary_watch_time: 30000-600000 144 | max_in_flight: 1 145 | serial: true 146 | update_watch_time: 5000-600000 147 | 148 | -------------------------------------------------------------------------------- /examples/admin-ui-openstack.yml: -------------------------------------------------------------------------------- 1 | compilation: 2 | cloud_properties: 3 | availability_zone: rot_1 4 | instance_type: medium_2_4 5 | network: default 6 | reuse_compilation_vms: true 7 | workers: 4 8 | director_uuid: ### YOUR UUID ### 9 | jobs: 10 | - default_network: 11 | - name: default 12 | static_ips: 13 | - 10.1.2.0 14 | instances: 1 15 | name: admin_ui 16 | networks: 17 | - name: default 18 | static_ips: 19 | - 10.1.2.0 20 | persistent_disk: 5120 21 | resource_pool: default 22 | templates: 23 | - name: admin_ui 24 | - instances: 1 25 | lifecycle: errand 26 | name: register_admin_ui 27 | networks: 28 | - name: default 29 | resource_pool: errand 30 | template: register_admin_ui 31 | - instances: 1 32 | lifecycle: errand 33 | name: deregister_admin_ui 34 | networks: 35 | - name: default 36 | resource_pool: errand 37 | template: deregister_admin_ui 38 | meta: 39 | stemcell: 40 | name: bosh-openstack-kvm-ubuntu-trusty-go_agent 41 | version: 3202 42 | name: admin-ui 43 | networks: 44 | - name: default 45 | subnets: 46 | - cloud_properties: 47 | net_id: ### YOUR NET ID ### 48 | security_groups: 49 | - admin_ui 50 | - cf-general-client 51 | - cf-router-accessible 52 | dns: 53 | - 172.18.4.23 54 | - 172.18.4.24 55 | gateway: 10.1.0.1 56 | range: 10.1.0.0/16 57 | reserved: 58 | - 10.1.0.0 - 10.1.1.255 59 | - 10.1.2.20 - 10.1.255.255 60 | static: 61 | - 10.1.2.0 - 10.1.2.9 62 | type: manual 63 | properties: 64 | admin_ui: 65 | admins: 66 | - admin 67 | ccdb: 68 | address: 10.1.1.51 69 | database: ccdb 70 | password: admin 71 | port: 5524 72 | scheme: postgres 73 | username: ccadmin 74 | cloud_controller_ssl_verify_none: true 75 | cloud_controller_uri: https://api.cf.### YOUR DOMAIN ### 76 | max_memory: 2 Gb 77 | uaa: 78 | admin_client_secret: admin-secret 79 | client: 80 | id: admin-ui 81 | secret: admin-ui-secret 82 | scopes: 83 | admin: null 84 | user: null 85 | url: https://uaa.cf.### YOUR DOMAIN ### 86 | uaadb: 87 | address: 10.1.1.51 88 | database: uaadb 89 | password: admin 90 | port: 5524 91 | scheme: postgres 92 | username: uaaadmin 93 | uri: admin.cf.### YOUR DOMAIN ### 94 | users: null 95 | cc: 96 | srv_api_uri: https://api.cf.### YOUR DOMAIN ### 97 | databases: 98 | address: 10.1.1.51 99 | db_scheme: postgres 100 | port: 5524 101 | roles: 102 | - name: ccadmin 103 | password: admin 104 | tag: admin 105 | - name: uaaadmin 106 | password: admin 107 | tag: admin 108 | nats: 109 | address: 10.1.1.3 110 | password: nats 111 | port: 4222 112 | user: nats 113 | networks: 114 | apps: default 115 | ssl: 116 | skip_cert_verify: true 117 | system_domain: cf.### YOUR DOMAIN ### 118 | uaa: 119 | admin: 120 | client_secret: admin-secret 121 | url: https://uaa.cf.### YOUR DOMAIN ### 122 | releases: 123 | - name: admin-ui 124 | version: latest 125 | resource_pools: 126 | - cloud_properties: 127 | availability_zone: rot_1 128 | instance_type: medium_2_4 129 | name: default 130 | network: default 131 | stemcell: 132 | name: bosh-openstack-kvm-ubuntu-trusty-go_agent 133 | version: 3202 134 | - cloud_properties: 135 | availability_zone: rot_1 136 | instance_type: small_1_2 137 | name: errand 138 | network: default 139 | stemcell: 140 | name: bosh-openstack-kvm-ubuntu-trusty-go_agent 141 | version: 3202 142 | update: 143 | canaries: 1 144 | canary_watch_time: 30000-600000 145 | max_in_flight: 1 146 | serial: true 147 | update_watch_time: 5000-600000 148 | 149 | -------------------------------------------------------------------------------- /examples/admin-ui-warden.yml: -------------------------------------------------------------------------------- 1 | compilation: 2 | cloud_properties: 3 | name: random 4 | network: cf2 5 | reuse_compilation_vms: true 6 | workers: 6 7 | director_uuid: 44586d7c-bcce-4f5f-ae80-42bb8a1ed08b 8 | jobs: 9 | - instances: 1 10 | name: admin_ui 11 | networks: 12 | - name: cf2 13 | static_ips: 14 | - 10.244.2.62 15 | persistent_disk: 5120 16 | resource_pool: small_z1 17 | template: admin_ui 18 | - instances: 1 19 | lifecycle: errand 20 | name: register_admin_ui 21 | networks: 22 | - name: cf2 23 | resource_pool: small_z1 24 | template: register_admin_ui 25 | - instances: 1 26 | lifecycle: errand 27 | name: deregister_admin_ui 28 | networks: 29 | - name: cf2 30 | resource_pool: small_z1 31 | template: deregister_admin_ui 32 | meta: 33 | admin_ui_uaa_client: 34 | id: admin-ui 35 | secret: c1oudc0w 36 | network: cf2 37 | subdomain: admin 38 | name: admin-ui 39 | networks: 40 | - name: cf1 41 | subnets: 42 | - cloud_properties: 43 | name: random 44 | range: 10.244.0.0/30 45 | reserved: 46 | - 10.244.0.1 47 | static: 48 | - 10.244.0.2 49 | - cloud_properties: 50 | name: random 51 | range: 10.244.0.4/30 52 | reserved: 53 | - 10.244.0.5 54 | static: 55 | - 10.244.0.6 56 | - cloud_properties: 57 | name: random 58 | range: 10.244.0.8/30 59 | reserved: 60 | - 10.244.0.9 61 | static: 62 | - 10.244.0.10 63 | - cloud_properties: 64 | name: random 65 | range: 10.244.0.12/30 66 | reserved: 67 | - 10.244.0.13 68 | static: 69 | - 10.244.0.14 70 | - cloud_properties: 71 | name: random 72 | range: 10.244.0.16/30 73 | reserved: 74 | - 10.244.0.17 75 | static: 76 | - 10.244.0.18 77 | - cloud_properties: 78 | name: random 79 | range: 10.244.0.20/30 80 | reserved: 81 | - 10.244.0.21 82 | static: 83 | - 10.244.0.22 84 | - cloud_properties: 85 | name: random 86 | range: 10.244.0.24/30 87 | reserved: 88 | - 10.244.0.25 89 | static: 90 | - 10.244.0.26 91 | - cloud_properties: 92 | name: random 93 | range: 10.244.0.28/30 94 | reserved: 95 | - 10.244.0.29 96 | static: 97 | - 10.244.0.30 98 | - cloud_properties: 99 | name: random 100 | range: 10.244.0.32/30 101 | reserved: 102 | - 10.244.0.33 103 | static: 104 | - 10.244.0.34 105 | - cloud_properties: 106 | name: random 107 | range: 10.244.0.36/30 108 | reserved: 109 | - 10.244.0.37 110 | static: 111 | - 10.244.0.38 112 | - cloud_properties: 113 | name: random 114 | range: 10.244.0.40/30 115 | reserved: 116 | - 10.244.0.41 117 | static: 118 | - 10.244.0.42 119 | - cloud_properties: 120 | name: random 121 | range: 10.244.0.44/30 122 | reserved: 123 | - 10.244.0.45 124 | static: 125 | - 10.244.0.46 126 | - cloud_properties: 127 | name: random 128 | range: 10.244.0.48/30 129 | reserved: 130 | - 10.244.0.49 131 | static: 132 | - 10.244.0.50 133 | - cloud_properties: 134 | name: random 135 | range: 10.244.0.52/30 136 | reserved: 137 | - 10.244.0.53 138 | static: 139 | - 10.244.0.54 140 | - cloud_properties: 141 | name: random 142 | range: 10.244.0.56/30 143 | reserved: 144 | - 10.244.0.57 145 | static: 146 | - 10.244.0.58 147 | - cloud_properties: 148 | name: random 149 | range: 10.244.0.60/30 150 | reserved: 151 | - 10.244.0.61 152 | static: 153 | - 10.244.0.62 154 | - cloud_properties: 155 | name: random 156 | range: 10.244.0.64/30 157 | reserved: 158 | - 10.244.0.65 159 | static: 160 | - 10.244.0.66 161 | - cloud_properties: 162 | name: random 163 | range: 10.244.0.68/30 164 | reserved: 165 | - 10.244.0.69 166 | static: 167 | - 10.244.0.70 168 | - cloud_properties: 169 | name: random 170 | range: 10.244.0.72/30 171 | reserved: 172 | - 10.244.0.73 173 | static: 174 | - 10.244.0.74 175 | - cloud_properties: 176 | name: random 177 | range: 10.244.0.76/30 178 | reserved: 179 | - 10.244.0.77 180 | static: 181 | - 10.244.0.78 182 | - cloud_properties: 183 | name: random 184 | range: 10.244.0.80/30 185 | reserved: 186 | - 10.244.0.81 187 | static: 188 | - 10.244.0.82 189 | - cloud_properties: 190 | name: random 191 | range: 10.244.0.84/30 192 | reserved: 193 | - 10.244.0.85 194 | static: 195 | - 10.244.0.86 196 | - cloud_properties: 197 | name: random 198 | range: 10.244.0.88/30 199 | reserved: 200 | - 10.244.0.89 201 | static: 202 | - 10.244.0.90 203 | - cloud_properties: 204 | name: random 205 | range: 10.244.0.92/30 206 | reserved: 207 | - 10.244.0.93 208 | static: 209 | - 10.244.0.94 210 | - cloud_properties: 211 | name: random 212 | range: 10.244.0.96/30 213 | reserved: 214 | - 10.244.0.97 215 | static: 216 | - 10.244.0.98 217 | - cloud_properties: 218 | name: random 219 | range: 10.244.0.100/30 220 | reserved: 221 | - 10.244.0.101 222 | static: 223 | - 10.244.0.102 224 | - cloud_properties: 225 | name: random 226 | range: 10.244.0.104/30 227 | reserved: 228 | - 10.244.0.105 229 | static: 230 | - 10.244.0.106 231 | - cloud_properties: 232 | name: random 233 | range: 10.244.0.108/30 234 | reserved: 235 | - 10.244.0.109 236 | static: 237 | - 10.244.0.110 238 | - cloud_properties: 239 | name: random 240 | range: 10.244.0.112/30 241 | reserved: 242 | - 10.244.0.113 243 | static: 244 | - 10.244.0.114 245 | - cloud_properties: 246 | name: random 247 | range: 10.244.0.116/30 248 | reserved: 249 | - 10.244.0.117 250 | static: 251 | - 10.244.0.118 252 | - cloud_properties: 253 | name: random 254 | range: 10.244.0.120/30 255 | reserved: 256 | - 10.244.0.121 257 | static: 258 | - 10.244.0.122 259 | - cloud_properties: 260 | name: random 261 | range: 10.244.0.124/30 262 | reserved: 263 | - 10.244.0.125 264 | static: 265 | - 10.244.0.126 266 | - cloud_properties: 267 | name: random 268 | range: 10.244.0.128/30 269 | reserved: 270 | - 10.244.0.129 271 | static: [] 272 | - cloud_properties: 273 | name: random 274 | range: 10.244.0.132/30 275 | reserved: 276 | - 10.244.0.133 277 | static: [] 278 | - cloud_properties: 279 | name: random 280 | range: 10.244.0.136/30 281 | reserved: 282 | - 10.244.0.137 283 | static: [] 284 | - cloud_properties: 285 | name: random 286 | range: 10.244.0.140/30 287 | reserved: 288 | - 10.244.0.141 289 | static: [] 290 | - cloud_properties: 291 | name: random 292 | range: 10.244.0.144/30 293 | reserved: 294 | - 10.244.0.145 295 | static: [] 296 | - cloud_properties: 297 | name: random 298 | range: 10.244.0.148/30 299 | reserved: 300 | - 10.244.0.149 301 | static: [] 302 | - cloud_properties: 303 | name: random 304 | range: 10.244.0.152/30 305 | reserved: 306 | - 10.244.0.153 307 | static: [] 308 | - cloud_properties: 309 | name: random 310 | range: 10.244.0.156/30 311 | reserved: 312 | - 10.244.0.157 313 | static: [] 314 | - cloud_properties: 315 | name: random 316 | range: 10.244.0.160/30 317 | reserved: 318 | - 10.244.0.161 319 | static: [] 320 | - cloud_properties: 321 | name: random 322 | range: 10.244.0.164/30 323 | reserved: 324 | - 10.244.0.165 325 | static: [] 326 | - cloud_properties: 327 | name: random 328 | range: 10.244.0.168/30 329 | reserved: 330 | - 10.244.0.169 331 | static: [] 332 | - cloud_properties: 333 | name: random 334 | range: 10.244.0.172/30 335 | reserved: 336 | - 10.244.0.173 337 | static: [] 338 | - cloud_properties: 339 | name: random 340 | range: 10.244.0.176/30 341 | reserved: 342 | - 10.244.0.177 343 | static: [] 344 | - cloud_properties: 345 | name: random 346 | range: 10.244.0.180/30 347 | reserved: 348 | - 10.244.0.181 349 | static: [] 350 | - cloud_properties: 351 | name: random 352 | range: 10.244.0.184/30 353 | reserved: 354 | - 10.244.0.185 355 | static: [] 356 | - cloud_properties: 357 | name: random 358 | range: 10.244.0.188/30 359 | reserved: 360 | - 10.244.0.189 361 | static: [] 362 | - cloud_properties: 363 | name: random 364 | range: 10.244.0.192/30 365 | reserved: 366 | - 10.244.0.193 367 | static: [] 368 | - cloud_properties: 369 | name: random 370 | range: 10.244.0.196/30 371 | reserved: 372 | - 10.244.0.197 373 | static: [] 374 | - cloud_properties: 375 | name: random 376 | range: 10.244.0.200/30 377 | reserved: 378 | - 10.244.0.201 379 | static: [] 380 | - cloud_properties: 381 | name: random 382 | range: 10.244.0.204/30 383 | reserved: 384 | - 10.244.0.205 385 | static: [] 386 | - cloud_properties: 387 | name: random 388 | range: 10.244.0.208/30 389 | reserved: 390 | - 10.244.0.209 391 | static: [] 392 | - cloud_properties: 393 | name: random 394 | range: 10.244.0.212/30 395 | reserved: 396 | - 10.244.0.213 397 | static: [] 398 | - cloud_properties: 399 | name: random 400 | range: 10.244.0.216/30 401 | reserved: 402 | - 10.244.0.217 403 | static: [] 404 | - cloud_properties: 405 | name: random 406 | range: 10.244.0.220/30 407 | reserved: 408 | - 10.244.0.221 409 | static: [] 410 | - cloud_properties: 411 | name: random 412 | range: 10.244.0.224/30 413 | reserved: 414 | - 10.244.0.225 415 | static: [] 416 | - cloud_properties: 417 | name: random 418 | range: 10.244.0.228/30 419 | reserved: 420 | - 10.244.0.229 421 | static: [] 422 | - cloud_properties: 423 | name: random 424 | range: 10.244.0.232/30 425 | reserved: 426 | - 10.244.0.233 427 | static: [] 428 | - cloud_properties: 429 | name: random 430 | range: 10.244.0.236/30 431 | reserved: 432 | - 10.244.0.237 433 | static: [] 434 | - cloud_properties: 435 | name: random 436 | range: 10.244.0.240/30 437 | reserved: 438 | - 10.244.0.241 439 | static: [] 440 | - cloud_properties: 441 | name: random 442 | range: 10.244.0.244/30 443 | reserved: 444 | - 10.244.0.245 445 | static: [] 446 | - cloud_properties: 447 | name: random 448 | range: 10.244.0.248/30 449 | reserved: 450 | - 10.244.0.249 451 | static: [] 452 | - cloud_properties: 453 | name: random 454 | range: 10.244.0.252/30 455 | reserved: 456 | - 10.244.0.253 457 | static: [] 458 | - name: cf2 459 | subnets: 460 | - cloud_properties: 461 | name: random 462 | range: 10.244.2.0/30 463 | reserved: 464 | - 10.244.2.1 465 | static: 466 | - 10.244.2.2 467 | - cloud_properties: 468 | name: random 469 | range: 10.244.2.4/30 470 | reserved: 471 | - 10.244.2.5 472 | static: 473 | - 10.244.2.6 474 | - cloud_properties: 475 | name: random 476 | range: 10.244.2.8/30 477 | reserved: 478 | - 10.244.2.9 479 | static: 480 | - 10.244.2.10 481 | - cloud_properties: 482 | name: random 483 | range: 10.244.2.12/30 484 | reserved: 485 | - 10.244.2.13 486 | static: 487 | - 10.244.2.14 488 | - cloud_properties: 489 | name: random 490 | range: 10.244.2.16/30 491 | reserved: 492 | - 10.244.2.17 493 | static: 494 | - 10.244.2.18 495 | - cloud_properties: 496 | name: random 497 | range: 10.244.2.20/30 498 | reserved: 499 | - 10.244.2.21 500 | static: 501 | - 10.244.2.22 502 | - cloud_properties: 503 | name: random 504 | range: 10.244.2.24/30 505 | reserved: 506 | - 10.244.2.25 507 | static: 508 | - 10.244.2.26 509 | - cloud_properties: 510 | name: random 511 | range: 10.244.2.28/30 512 | reserved: 513 | - 10.244.2.29 514 | static: 515 | - 10.244.2.30 516 | - cloud_properties: 517 | name: random 518 | range: 10.244.2.32/30 519 | reserved: 520 | - 10.244.2.33 521 | static: 522 | - 10.244.2.34 523 | - cloud_properties: 524 | name: random 525 | range: 10.244.2.36/30 526 | reserved: 527 | - 10.244.2.37 528 | static: 529 | - 10.244.2.38 530 | - cloud_properties: 531 | name: random 532 | range: 10.244.2.40/30 533 | reserved: 534 | - 10.244.2.41 535 | static: 536 | - 10.244.2.42 537 | - cloud_properties: 538 | name: random 539 | range: 10.244.2.44/30 540 | reserved: 541 | - 10.244.2.45 542 | static: 543 | - 10.244.2.46 544 | - cloud_properties: 545 | name: random 546 | range: 10.244.2.48/30 547 | reserved: 548 | - 10.244.2.49 549 | static: 550 | - 10.244.2.50 551 | - cloud_properties: 552 | name: random 553 | range: 10.244.2.52/30 554 | reserved: 555 | - 10.244.2.53 556 | static: 557 | - 10.244.2.54 558 | - cloud_properties: 559 | name: random 560 | range: 10.244.2.56/30 561 | reserved: 562 | - 10.244.2.57 563 | static: 564 | - 10.244.2.58 565 | - cloud_properties: 566 | name: random 567 | range: 10.244.2.60/30 568 | reserved: 569 | - 10.244.2.61 570 | static: 571 | - 10.244.2.62 572 | - cloud_properties: 573 | name: random 574 | range: 10.244.2.64/30 575 | reserved: 576 | - 10.244.2.65 577 | static: 578 | - 10.244.2.66 579 | - cloud_properties: 580 | name: random 581 | range: 10.244.2.68/30 582 | reserved: 583 | - 10.244.2.69 584 | static: 585 | - 10.244.2.70 586 | - cloud_properties: 587 | name: random 588 | range: 10.244.2.72/30 589 | reserved: 590 | - 10.244.2.73 591 | static: 592 | - 10.244.2.74 593 | - cloud_properties: 594 | name: random 595 | range: 10.244.2.76/30 596 | reserved: 597 | - 10.244.2.77 598 | static: 599 | - 10.244.2.78 600 | - cloud_properties: 601 | name: random 602 | range: 10.244.2.80/30 603 | reserved: 604 | - 10.244.2.81 605 | static: 606 | - 10.244.2.82 607 | - cloud_properties: 608 | name: random 609 | range: 10.244.2.84/30 610 | reserved: 611 | - 10.244.2.85 612 | static: 613 | - 10.244.2.86 614 | - cloud_properties: 615 | name: random 616 | range: 10.244.2.88/30 617 | reserved: 618 | - 10.244.2.89 619 | static: 620 | - 10.244.2.90 621 | - cloud_properties: 622 | name: random 623 | range: 10.244.2.92/30 624 | reserved: 625 | - 10.244.2.93 626 | static: 627 | - 10.244.2.94 628 | - cloud_properties: 629 | name: random 630 | range: 10.244.2.96/30 631 | reserved: 632 | - 10.244.2.97 633 | static: 634 | - 10.244.2.98 635 | - cloud_properties: 636 | name: random 637 | range: 10.244.2.100/30 638 | reserved: 639 | - 10.244.2.101 640 | static: 641 | - 10.244.2.102 642 | - cloud_properties: 643 | name: random 644 | range: 10.244.2.104/30 645 | reserved: 646 | - 10.244.2.105 647 | static: 648 | - 10.244.2.106 649 | - cloud_properties: 650 | name: random 651 | range: 10.244.2.108/30 652 | reserved: 653 | - 10.244.2.109 654 | static: 655 | - 10.244.2.110 656 | - cloud_properties: 657 | name: random 658 | range: 10.244.2.112/30 659 | reserved: 660 | - 10.244.2.113 661 | static: 662 | - 10.244.2.114 663 | - cloud_properties: 664 | name: random 665 | range: 10.244.2.116/30 666 | reserved: 667 | - 10.244.2.117 668 | static: 669 | - 10.244.2.118 670 | - cloud_properties: 671 | name: random 672 | range: 10.244.2.120/30 673 | reserved: 674 | - 10.244.2.121 675 | static: 676 | - 10.244.2.122 677 | - cloud_properties: 678 | name: random 679 | range: 10.244.2.124/30 680 | reserved: 681 | - 10.244.2.125 682 | static: 683 | - 10.244.2.126 684 | - cloud_properties: 685 | name: random 686 | range: 10.244.2.128/30 687 | reserved: 688 | - 10.244.2.129 689 | static: [] 690 | - cloud_properties: 691 | name: random 692 | range: 10.244.2.132/30 693 | reserved: 694 | - 10.244.2.133 695 | static: [] 696 | - cloud_properties: 697 | name: random 698 | range: 10.244.2.136/30 699 | reserved: 700 | - 10.244.2.137 701 | static: [] 702 | - cloud_properties: 703 | name: random 704 | range: 10.244.2.140/30 705 | reserved: 706 | - 10.244.2.141 707 | static: [] 708 | - cloud_properties: 709 | name: random 710 | range: 10.244.2.144/30 711 | reserved: 712 | - 10.244.2.145 713 | static: [] 714 | - cloud_properties: 715 | name: random 716 | range: 10.244.2.148/30 717 | reserved: 718 | - 10.244.2.149 719 | static: [] 720 | - cloud_properties: 721 | name: random 722 | range: 10.244.2.152/30 723 | reserved: 724 | - 10.244.2.153 725 | static: [] 726 | - cloud_properties: 727 | name: random 728 | range: 10.244.2.156/30 729 | reserved: 730 | - 10.244.2.157 731 | static: [] 732 | - cloud_properties: 733 | name: random 734 | range: 10.244.2.160/30 735 | reserved: 736 | - 10.244.2.161 737 | static: [] 738 | - cloud_properties: 739 | name: random 740 | range: 10.244.2.164/30 741 | reserved: 742 | - 10.244.2.165 743 | static: [] 744 | - cloud_properties: 745 | name: random 746 | range: 10.244.2.168/30 747 | reserved: 748 | - 10.244.2.169 749 | static: [] 750 | - cloud_properties: 751 | name: random 752 | range: 10.244.2.172/30 753 | reserved: 754 | - 10.244.2.173 755 | static: [] 756 | - cloud_properties: 757 | name: random 758 | range: 10.244.2.176/30 759 | reserved: 760 | - 10.244.2.177 761 | static: [] 762 | - cloud_properties: 763 | name: random 764 | range: 10.244.2.180/30 765 | reserved: 766 | - 10.244.2.181 767 | static: [] 768 | - cloud_properties: 769 | name: random 770 | range: 10.244.2.184/30 771 | reserved: 772 | - 10.244.2.185 773 | static: [] 774 | - cloud_properties: 775 | name: random 776 | range: 10.244.2.188/30 777 | reserved: 778 | - 10.244.2.189 779 | static: [] 780 | - cloud_properties: 781 | name: random 782 | range: 10.244.2.192/30 783 | reserved: 784 | - 10.244.2.193 785 | static: [] 786 | - cloud_properties: 787 | name: random 788 | range: 10.244.2.196/30 789 | reserved: 790 | - 10.244.2.197 791 | static: [] 792 | - cloud_properties: 793 | name: random 794 | range: 10.244.2.200/30 795 | reserved: 796 | - 10.244.2.201 797 | static: [] 798 | - cloud_properties: 799 | name: random 800 | range: 10.244.2.204/30 801 | reserved: 802 | - 10.244.2.205 803 | static: [] 804 | - cloud_properties: 805 | name: random 806 | range: 10.244.2.208/30 807 | reserved: 808 | - 10.244.2.209 809 | static: [] 810 | - cloud_properties: 811 | name: random 812 | range: 10.244.2.212/30 813 | reserved: 814 | - 10.244.2.213 815 | static: [] 816 | - cloud_properties: 817 | name: random 818 | range: 10.244.2.216/30 819 | reserved: 820 | - 10.244.2.217 821 | static: [] 822 | - cloud_properties: 823 | name: random 824 | range: 10.244.2.220/30 825 | reserved: 826 | - 10.244.2.221 827 | static: [] 828 | - cloud_properties: 829 | name: random 830 | range: 10.244.2.224/30 831 | reserved: 832 | - 10.244.2.225 833 | static: [] 834 | - cloud_properties: 835 | name: random 836 | range: 10.244.2.228/30 837 | reserved: 838 | - 10.244.2.229 839 | static: [] 840 | - cloud_properties: 841 | name: random 842 | range: 10.244.2.232/30 843 | reserved: 844 | - 10.244.2.233 845 | static: [] 846 | - cloud_properties: 847 | name: random 848 | range: 10.244.2.236/30 849 | reserved: 850 | - 10.244.2.237 851 | static: [] 852 | - cloud_properties: 853 | name: random 854 | range: 10.244.2.240/30 855 | reserved: 856 | - 10.244.2.241 857 | static: [] 858 | - cloud_properties: 859 | name: random 860 | range: 10.244.2.244/30 861 | reserved: 862 | - 10.244.2.245 863 | static: [] 864 | - cloud_properties: 865 | name: random 866 | range: 10.244.2.248/30 867 | reserved: 868 | - 10.244.2.249 869 | static: [] 870 | - cloud_properties: 871 | name: random 872 | range: 10.244.2.252/30 873 | reserved: 874 | - 10.244.2.253 875 | static: [] 876 | - name: services1 877 | subnets: 878 | - cloud_properties: 879 | name: random 880 | range: 10.244.1.0/30 881 | reserved: 882 | - 10.244.1.1 883 | static: 884 | - 10.244.1.2 885 | - cloud_properties: 886 | name: random 887 | range: 10.244.1.4/30 888 | reserved: 889 | - 10.244.1.5 890 | static: 891 | - 10.244.1.6 892 | - cloud_properties: 893 | name: random 894 | range: 10.244.1.8/30 895 | reserved: 896 | - 10.244.1.9 897 | static: 898 | - 10.244.1.10 899 | - cloud_properties: 900 | name: random 901 | range: 10.244.1.12/30 902 | reserved: 903 | - 10.244.1.13 904 | static: 905 | - 10.244.1.14 906 | - cloud_properties: 907 | name: random 908 | range: 10.244.1.16/30 909 | reserved: 910 | - 10.244.1.17 911 | static: 912 | - 10.244.1.18 913 | - cloud_properties: 914 | name: random 915 | range: 10.244.1.20/30 916 | reserved: 917 | - 10.244.1.21 918 | static: 919 | - 10.244.1.22 920 | - cloud_properties: 921 | name: random 922 | range: 10.244.1.24/30 923 | reserved: 924 | - 10.244.1.25 925 | static: 926 | - 10.244.1.26 927 | - cloud_properties: 928 | name: random 929 | range: 10.244.1.28/30 930 | reserved: 931 | - 10.244.1.29 932 | static: 933 | - 10.244.1.30 934 | - cloud_properties: 935 | name: random 936 | range: 10.244.1.32/30 937 | reserved: 938 | - 10.244.1.33 939 | static: 940 | - 10.244.1.34 941 | - cloud_properties: 942 | name: random 943 | range: 10.244.1.36/30 944 | reserved: 945 | - 10.244.1.37 946 | static: 947 | - 10.244.1.38 948 | - cloud_properties: 949 | name: random 950 | range: 10.244.1.40/30 951 | reserved: 952 | - 10.244.1.41 953 | static: 954 | - 10.244.1.42 955 | - cloud_properties: 956 | name: random 957 | range: 10.244.1.44/30 958 | reserved: 959 | - 10.244.1.45 960 | static: 961 | - 10.244.1.46 962 | - cloud_properties: 963 | name: random 964 | range: 10.244.1.48/30 965 | reserved: 966 | - 10.244.1.49 967 | static: 968 | - 10.244.1.50 969 | - cloud_properties: 970 | name: random 971 | range: 10.244.1.52/30 972 | reserved: 973 | - 10.244.1.53 974 | static: 975 | - 10.244.1.54 976 | - cloud_properties: 977 | name: random 978 | range: 10.244.1.56/30 979 | reserved: 980 | - 10.244.1.57 981 | static: 982 | - 10.244.1.58 983 | - cloud_properties: 984 | name: random 985 | range: 10.244.1.60/30 986 | reserved: 987 | - 10.244.1.61 988 | static: 989 | - 10.244.1.62 990 | - cloud_properties: 991 | name: random 992 | range: 10.244.1.64/30 993 | reserved: 994 | - 10.244.1.65 995 | static: 996 | - 10.244.1.66 997 | - cloud_properties: 998 | name: random 999 | range: 10.244.1.68/30 1000 | reserved: 1001 | - 10.244.1.69 1002 | static: 1003 | - 10.244.1.70 1004 | - cloud_properties: 1005 | name: random 1006 | range: 10.244.1.72/30 1007 | reserved: 1008 | - 10.244.1.73 1009 | static: 1010 | - 10.244.1.74 1011 | - cloud_properties: 1012 | name: random 1013 | range: 10.244.1.76/30 1014 | reserved: 1015 | - 10.244.1.77 1016 | static: 1017 | - 10.244.1.78 1018 | - cloud_properties: 1019 | name: random 1020 | range: 10.244.1.80/30 1021 | reserved: 1022 | - 10.244.1.81 1023 | static: 1024 | - 10.244.1.82 1025 | - cloud_properties: 1026 | name: random 1027 | range: 10.244.1.84/30 1028 | reserved: 1029 | - 10.244.1.85 1030 | static: 1031 | - 10.244.1.86 1032 | - cloud_properties: 1033 | name: random 1034 | range: 10.244.1.88/30 1035 | reserved: 1036 | - 10.244.1.89 1037 | static: 1038 | - 10.244.1.90 1039 | - cloud_properties: 1040 | name: random 1041 | range: 10.244.1.92/30 1042 | reserved: 1043 | - 10.244.1.93 1044 | static: 1045 | - 10.244.1.94 1046 | - cloud_properties: 1047 | name: random 1048 | range: 10.244.1.96/30 1049 | reserved: 1050 | - 10.244.1.97 1051 | static: 1052 | - 10.244.1.98 1053 | - cloud_properties: 1054 | name: random 1055 | range: 10.244.1.100/30 1056 | reserved: 1057 | - 10.244.1.101 1058 | static: 1059 | - 10.244.1.102 1060 | - cloud_properties: 1061 | name: random 1062 | range: 10.244.1.104/30 1063 | reserved: 1064 | - 10.244.1.105 1065 | static: 1066 | - 10.244.1.106 1067 | - cloud_properties: 1068 | name: random 1069 | range: 10.244.1.108/30 1070 | reserved: 1071 | - 10.244.1.109 1072 | static: 1073 | - 10.244.1.110 1074 | - cloud_properties: 1075 | name: random 1076 | range: 10.244.1.112/30 1077 | reserved: 1078 | - 10.244.1.113 1079 | static: 1080 | - 10.244.1.114 1081 | - cloud_properties: 1082 | name: random 1083 | range: 10.244.1.116/30 1084 | reserved: 1085 | - 10.244.1.117 1086 | static: 1087 | - 10.244.1.118 1088 | - cloud_properties: 1089 | name: random 1090 | range: 10.244.1.120/30 1091 | reserved: 1092 | - 10.244.1.121 1093 | static: 1094 | - 10.244.1.122 1095 | - cloud_properties: 1096 | name: random 1097 | range: 10.244.1.124/30 1098 | reserved: 1099 | - 10.244.1.125 1100 | static: 1101 | - 10.244.1.126 1102 | - cloud_properties: 1103 | name: random 1104 | range: 10.244.1.128/30 1105 | reserved: 1106 | - 10.244.1.129 1107 | static: [] 1108 | - cloud_properties: 1109 | name: random 1110 | range: 10.244.1.132/30 1111 | reserved: 1112 | - 10.244.1.133 1113 | static: [] 1114 | - cloud_properties: 1115 | name: random 1116 | range: 10.244.1.136/30 1117 | reserved: 1118 | - 10.244.1.137 1119 | static: [] 1120 | - cloud_properties: 1121 | name: random 1122 | range: 10.244.1.140/30 1123 | reserved: 1124 | - 10.244.1.141 1125 | static: [] 1126 | - cloud_properties: 1127 | name: random 1128 | range: 10.244.1.144/30 1129 | reserved: 1130 | - 10.244.1.145 1131 | static: [] 1132 | - cloud_properties: 1133 | name: random 1134 | range: 10.244.1.148/30 1135 | reserved: 1136 | - 10.244.1.149 1137 | static: [] 1138 | - cloud_properties: 1139 | name: random 1140 | range: 10.244.1.152/30 1141 | reserved: 1142 | - 10.244.1.153 1143 | static: [] 1144 | - cloud_properties: 1145 | name: random 1146 | range: 10.244.1.156/30 1147 | reserved: 1148 | - 10.244.1.157 1149 | static: [] 1150 | - cloud_properties: 1151 | name: random 1152 | range: 10.244.1.160/30 1153 | reserved: 1154 | - 10.244.1.161 1155 | static: [] 1156 | - cloud_properties: 1157 | name: random 1158 | range: 10.244.1.164/30 1159 | reserved: 1160 | - 10.244.1.165 1161 | static: [] 1162 | - cloud_properties: 1163 | name: random 1164 | range: 10.244.1.168/30 1165 | reserved: 1166 | - 10.244.1.169 1167 | static: [] 1168 | - cloud_properties: 1169 | name: random 1170 | range: 10.244.1.172/30 1171 | reserved: 1172 | - 10.244.1.173 1173 | static: [] 1174 | - cloud_properties: 1175 | name: random 1176 | range: 10.244.1.176/30 1177 | reserved: 1178 | - 10.244.1.177 1179 | static: [] 1180 | - cloud_properties: 1181 | name: random 1182 | range: 10.244.1.180/30 1183 | reserved: 1184 | - 10.244.1.181 1185 | static: [] 1186 | - cloud_properties: 1187 | name: random 1188 | range: 10.244.1.184/30 1189 | reserved: 1190 | - 10.244.1.185 1191 | static: [] 1192 | - cloud_properties: 1193 | name: random 1194 | range: 10.244.1.188/30 1195 | reserved: 1196 | - 10.244.1.189 1197 | static: [] 1198 | - cloud_properties: 1199 | name: random 1200 | range: 10.244.1.192/30 1201 | reserved: 1202 | - 10.244.1.193 1203 | static: [] 1204 | - cloud_properties: 1205 | name: random 1206 | range: 10.244.1.196/30 1207 | reserved: 1208 | - 10.244.1.197 1209 | static: [] 1210 | - cloud_properties: 1211 | name: random 1212 | range: 10.244.1.200/30 1213 | reserved: 1214 | - 10.244.1.201 1215 | static: [] 1216 | - cloud_properties: 1217 | name: random 1218 | range: 10.244.1.204/30 1219 | reserved: 1220 | - 10.244.1.205 1221 | static: [] 1222 | - cloud_properties: 1223 | name: random 1224 | range: 10.244.1.208/30 1225 | reserved: 1226 | - 10.244.1.209 1227 | static: [] 1228 | - cloud_properties: 1229 | name: random 1230 | range: 10.244.1.212/30 1231 | reserved: 1232 | - 10.244.1.213 1233 | static: [] 1234 | - cloud_properties: 1235 | name: random 1236 | range: 10.244.1.216/30 1237 | reserved: 1238 | - 10.244.1.217 1239 | static: [] 1240 | - cloud_properties: 1241 | name: random 1242 | range: 10.244.1.220/30 1243 | reserved: 1244 | - 10.244.1.221 1245 | static: [] 1246 | - cloud_properties: 1247 | name: random 1248 | range: 10.244.1.224/30 1249 | reserved: 1250 | - 10.244.1.225 1251 | static: [] 1252 | - cloud_properties: 1253 | name: random 1254 | range: 10.244.1.228/30 1255 | reserved: 1256 | - 10.244.1.229 1257 | static: [] 1258 | - cloud_properties: 1259 | name: random 1260 | range: 10.244.1.232/30 1261 | reserved: 1262 | - 10.244.1.233 1263 | static: [] 1264 | - cloud_properties: 1265 | name: random 1266 | range: 10.244.1.236/30 1267 | reserved: 1268 | - 10.244.1.237 1269 | static: [] 1270 | - cloud_properties: 1271 | name: random 1272 | range: 10.244.1.240/30 1273 | reserved: 1274 | - 10.244.1.241 1275 | static: [] 1276 | - cloud_properties: 1277 | name: random 1278 | range: 10.244.1.244/30 1279 | reserved: 1280 | - 10.244.1.245 1281 | static: [] 1282 | - cloud_properties: 1283 | name: random 1284 | range: 10.244.1.248/30 1285 | reserved: 1286 | - 10.244.1.249 1287 | static: [] 1288 | - cloud_properties: 1289 | name: random 1290 | range: 10.244.1.252/30 1291 | reserved: 1292 | - 10.244.1.253 1293 | static: [] 1294 | - name: services2 1295 | subnets: 1296 | - cloud_properties: 1297 | name: random 1298 | range: 10.244.3.0/30 1299 | reserved: 1300 | - 10.244.3.1 1301 | static: 1302 | - 10.244.3.2 1303 | - cloud_properties: 1304 | name: random 1305 | range: 10.244.3.4/30 1306 | reserved: 1307 | - 10.244.3.5 1308 | static: 1309 | - 10.244.3.6 1310 | - cloud_properties: 1311 | name: random 1312 | range: 10.244.3.8/30 1313 | reserved: 1314 | - 10.244.3.9 1315 | static: 1316 | - 10.244.3.10 1317 | - cloud_properties: 1318 | name: random 1319 | range: 10.244.3.12/30 1320 | reserved: 1321 | - 10.244.3.13 1322 | static: 1323 | - 10.244.3.14 1324 | - cloud_properties: 1325 | name: random 1326 | range: 10.244.3.16/30 1327 | reserved: 1328 | - 10.244.3.17 1329 | static: 1330 | - 10.244.3.18 1331 | - cloud_properties: 1332 | name: random 1333 | range: 10.244.3.20/30 1334 | reserved: 1335 | - 10.244.3.21 1336 | static: 1337 | - 10.244.3.22 1338 | - cloud_properties: 1339 | name: random 1340 | range: 10.244.3.24/30 1341 | reserved: 1342 | - 10.244.3.25 1343 | static: 1344 | - 10.244.3.26 1345 | - cloud_properties: 1346 | name: random 1347 | range: 10.244.3.28/30 1348 | reserved: 1349 | - 10.244.3.29 1350 | static: 1351 | - 10.244.3.30 1352 | - cloud_properties: 1353 | name: random 1354 | range: 10.244.3.32/30 1355 | reserved: 1356 | - 10.244.3.33 1357 | static: 1358 | - 10.244.3.34 1359 | - cloud_properties: 1360 | name: random 1361 | range: 10.244.3.36/30 1362 | reserved: 1363 | - 10.244.3.37 1364 | static: 1365 | - 10.244.3.38 1366 | - cloud_properties: 1367 | name: random 1368 | range: 10.244.3.40/30 1369 | reserved: 1370 | - 10.244.3.41 1371 | static: 1372 | - 10.244.3.42 1373 | - cloud_properties: 1374 | name: random 1375 | range: 10.244.3.44/30 1376 | reserved: 1377 | - 10.244.3.45 1378 | static: 1379 | - 10.244.3.46 1380 | - cloud_properties: 1381 | name: random 1382 | range: 10.244.3.48/30 1383 | reserved: 1384 | - 10.244.3.49 1385 | static: 1386 | - 10.244.3.50 1387 | - cloud_properties: 1388 | name: random 1389 | range: 10.244.3.52/30 1390 | reserved: 1391 | - 10.244.3.53 1392 | static: 1393 | - 10.244.3.54 1394 | - cloud_properties: 1395 | name: random 1396 | range: 10.244.3.56/30 1397 | reserved: 1398 | - 10.244.3.57 1399 | static: 1400 | - 10.244.3.58 1401 | - cloud_properties: 1402 | name: random 1403 | range: 10.244.3.60/30 1404 | reserved: 1405 | - 10.244.3.61 1406 | static: 1407 | - 10.244.3.62 1408 | - cloud_properties: 1409 | name: random 1410 | range: 10.244.3.64/30 1411 | reserved: 1412 | - 10.244.3.65 1413 | static: 1414 | - 10.244.3.66 1415 | - cloud_properties: 1416 | name: random 1417 | range: 10.244.3.68/30 1418 | reserved: 1419 | - 10.244.3.69 1420 | static: 1421 | - 10.244.3.70 1422 | - cloud_properties: 1423 | name: random 1424 | range: 10.244.3.72/30 1425 | reserved: 1426 | - 10.244.3.73 1427 | static: 1428 | - 10.244.3.74 1429 | - cloud_properties: 1430 | name: random 1431 | range: 10.244.3.76/30 1432 | reserved: 1433 | - 10.244.3.77 1434 | static: 1435 | - 10.244.3.78 1436 | - cloud_properties: 1437 | name: random 1438 | range: 10.244.3.80/30 1439 | reserved: 1440 | - 10.244.3.81 1441 | static: 1442 | - 10.244.3.82 1443 | - cloud_properties: 1444 | name: random 1445 | range: 10.244.3.84/30 1446 | reserved: 1447 | - 10.244.3.85 1448 | static: 1449 | - 10.244.3.86 1450 | - cloud_properties: 1451 | name: random 1452 | range: 10.244.3.88/30 1453 | reserved: 1454 | - 10.244.3.89 1455 | static: 1456 | - 10.244.3.90 1457 | - cloud_properties: 1458 | name: random 1459 | range: 10.244.3.92/30 1460 | reserved: 1461 | - 10.244.3.93 1462 | static: 1463 | - 10.244.3.94 1464 | - cloud_properties: 1465 | name: random 1466 | range: 10.244.3.96/30 1467 | reserved: 1468 | - 10.244.3.97 1469 | static: 1470 | - 10.244.3.98 1471 | - cloud_properties: 1472 | name: random 1473 | range: 10.244.3.100/30 1474 | reserved: 1475 | - 10.244.3.101 1476 | static: 1477 | - 10.244.3.102 1478 | - cloud_properties: 1479 | name: random 1480 | range: 10.244.3.104/30 1481 | reserved: 1482 | - 10.244.3.105 1483 | static: 1484 | - 10.244.3.106 1485 | - cloud_properties: 1486 | name: random 1487 | range: 10.244.3.108/30 1488 | reserved: 1489 | - 10.244.3.109 1490 | static: 1491 | - 10.244.3.110 1492 | - cloud_properties: 1493 | name: random 1494 | range: 10.244.3.112/30 1495 | reserved: 1496 | - 10.244.3.113 1497 | static: 1498 | - 10.244.3.114 1499 | - cloud_properties: 1500 | name: random 1501 | range: 10.244.3.116/30 1502 | reserved: 1503 | - 10.244.3.117 1504 | static: 1505 | - 10.244.3.118 1506 | - cloud_properties: 1507 | name: random 1508 | range: 10.244.3.120/30 1509 | reserved: 1510 | - 10.244.3.121 1511 | static: 1512 | - 10.244.3.122 1513 | - cloud_properties: 1514 | name: random 1515 | range: 10.244.3.124/30 1516 | reserved: 1517 | - 10.244.3.125 1518 | static: 1519 | - 10.244.3.126 1520 | - cloud_properties: 1521 | name: random 1522 | range: 10.244.3.128/30 1523 | reserved: 1524 | - 10.244.3.129 1525 | static: [] 1526 | - cloud_properties: 1527 | name: random 1528 | range: 10.244.3.132/30 1529 | reserved: 1530 | - 10.244.3.133 1531 | static: [] 1532 | - cloud_properties: 1533 | name: random 1534 | range: 10.244.3.136/30 1535 | reserved: 1536 | - 10.244.3.137 1537 | static: [] 1538 | - cloud_properties: 1539 | name: random 1540 | range: 10.244.3.140/30 1541 | reserved: 1542 | - 10.244.3.141 1543 | static: [] 1544 | - cloud_properties: 1545 | name: random 1546 | range: 10.244.3.144/30 1547 | reserved: 1548 | - 10.244.3.145 1549 | static: [] 1550 | - cloud_properties: 1551 | name: random 1552 | range: 10.244.3.148/30 1553 | reserved: 1554 | - 10.244.3.149 1555 | static: [] 1556 | - cloud_properties: 1557 | name: random 1558 | range: 10.244.3.152/30 1559 | reserved: 1560 | - 10.244.3.153 1561 | static: [] 1562 | - cloud_properties: 1563 | name: random 1564 | range: 10.244.3.156/30 1565 | reserved: 1566 | - 10.244.3.157 1567 | static: [] 1568 | - cloud_properties: 1569 | name: random 1570 | range: 10.244.3.160/30 1571 | reserved: 1572 | - 10.244.3.161 1573 | static: [] 1574 | - cloud_properties: 1575 | name: random 1576 | range: 10.244.3.164/30 1577 | reserved: 1578 | - 10.244.3.165 1579 | static: [] 1580 | - cloud_properties: 1581 | name: random 1582 | range: 10.244.3.168/30 1583 | reserved: 1584 | - 10.244.3.169 1585 | static: [] 1586 | - cloud_properties: 1587 | name: random 1588 | range: 10.244.3.172/30 1589 | reserved: 1590 | - 10.244.3.173 1591 | static: [] 1592 | - cloud_properties: 1593 | name: random 1594 | range: 10.244.3.176/30 1595 | reserved: 1596 | - 10.244.3.177 1597 | static: [] 1598 | - cloud_properties: 1599 | name: random 1600 | range: 10.244.3.180/30 1601 | reserved: 1602 | - 10.244.3.181 1603 | static: [] 1604 | - cloud_properties: 1605 | name: random 1606 | range: 10.244.3.184/30 1607 | reserved: 1608 | - 10.244.3.185 1609 | static: [] 1610 | - cloud_properties: 1611 | name: random 1612 | range: 10.244.3.188/30 1613 | reserved: 1614 | - 10.244.3.189 1615 | static: [] 1616 | - cloud_properties: 1617 | name: random 1618 | range: 10.244.3.192/30 1619 | reserved: 1620 | - 10.244.3.193 1621 | static: [] 1622 | - cloud_properties: 1623 | name: random 1624 | range: 10.244.3.196/30 1625 | reserved: 1626 | - 10.244.3.197 1627 | static: [] 1628 | - cloud_properties: 1629 | name: random 1630 | range: 10.244.3.200/30 1631 | reserved: 1632 | - 10.244.3.201 1633 | static: [] 1634 | - cloud_properties: 1635 | name: random 1636 | range: 10.244.3.204/30 1637 | reserved: 1638 | - 10.244.3.205 1639 | static: [] 1640 | - cloud_properties: 1641 | name: random 1642 | range: 10.244.3.208/30 1643 | reserved: 1644 | - 10.244.3.209 1645 | static: [] 1646 | - cloud_properties: 1647 | name: random 1648 | range: 10.244.3.212/30 1649 | reserved: 1650 | - 10.244.3.213 1651 | static: [] 1652 | - cloud_properties: 1653 | name: random 1654 | range: 10.244.3.216/30 1655 | reserved: 1656 | - 10.244.3.217 1657 | static: [] 1658 | - cloud_properties: 1659 | name: random 1660 | range: 10.244.3.220/30 1661 | reserved: 1662 | - 10.244.3.221 1663 | static: [] 1664 | - cloud_properties: 1665 | name: random 1666 | range: 10.244.3.224/30 1667 | reserved: 1668 | - 10.244.3.225 1669 | static: [] 1670 | - cloud_properties: 1671 | name: random 1672 | range: 10.244.3.228/30 1673 | reserved: 1674 | - 10.244.3.229 1675 | static: [] 1676 | - cloud_properties: 1677 | name: random 1678 | range: 10.244.3.232/30 1679 | reserved: 1680 | - 10.244.3.233 1681 | static: [] 1682 | - cloud_properties: 1683 | name: random 1684 | range: 10.244.3.236/30 1685 | reserved: 1686 | - 10.244.3.237 1687 | static: [] 1688 | - cloud_properties: 1689 | name: random 1690 | range: 10.244.3.240/30 1691 | reserved: 1692 | - 10.244.3.241 1693 | static: [] 1694 | - cloud_properties: 1695 | name: random 1696 | range: 10.244.3.244/30 1697 | reserved: 1698 | - 10.244.3.245 1699 | static: [] 1700 | - cloud_properties: 1701 | name: random 1702 | range: 10.244.3.248/30 1703 | reserved: 1704 | - 10.244.3.249 1705 | static: [] 1706 | - cloud_properties: 1707 | name: random 1708 | range: 10.244.3.252/30 1709 | reserved: 1710 | - 10.244.3.253 1711 | static: [] 1712 | properties: 1713 | admin_ui: 1714 | admins: 1715 | - admin 1716 | ccdb: 1717 | address: 10.244.0.30 1718 | database: ccdb 1719 | password: admin 1720 | port: 5524 1721 | scheme: postgres 1722 | username: ccadmin 1723 | cloud_controller_ssl_verify_none: true 1724 | cloud_controller_uri: https://api.bosh-lite.com 1725 | event_days: 1 1726 | max_memory: 512 Mb 1727 | uaa: 1728 | admin_client_secret: admin-secret 1729 | client: 1730 | id: admin-ui 1731 | secret: c1oudc0w 1732 | scopes: 1733 | admin: null 1734 | user: null 1735 | url: https://uaa.bosh-lite.com 1736 | uaadb: 1737 | address: 10.244.0.30 1738 | database: uaadb 1739 | password: admin 1740 | port: 5524 1741 | scheme: postgres 1742 | username: uaaadmin 1743 | uri: admin.bosh-lite.com 1744 | users: null 1745 | cc: 1746 | srv_api_uri: https://api.bosh-lite.com 1747 | databases: 1748 | address: 10.244.0.30 1749 | db_scheme: postgres 1750 | port: 5524 1751 | roles: 1752 | - name: ccadmin 1753 | password: admin 1754 | tag: admin 1755 | - name: uaaadmin 1756 | password: admin 1757 | tag: admin 1758 | nats: 1759 | address: 10.244.0.6 1760 | machines: 1761 | - 10.244.0.6 1762 | password: nats 1763 | port: 4222 1764 | user: nats 1765 | networks: 1766 | apps: cf2 1767 | ssl: 1768 | skip_cert_verify: true 1769 | system_domain: bosh-lite.com 1770 | uaa: 1771 | admin: 1772 | client_secret: admin-secret 1773 | url: https://uaa.bosh-lite.com 1774 | release: 1775 | name: admin-ui 1776 | version: latest 1777 | resource_pools: 1778 | - cloud_properties: 1779 | name: random 1780 | name: small_z1 1781 | network: cf2 1782 | size: 3 1783 | stemcell: 1784 | name: bosh-warden-boshlite-ubuntu-trusty-go_agent 1785 | version: "3147" 1786 | update: 1787 | canaries: 0 1788 | canary_watch_time: 1000-180000 1789 | max_in_flight: 50 1790 | serial: true 1791 | update_watch_time: 1000-180000 1792 | 1793 | -------------------------------------------------------------------------------- /jobs/admin_ui/monit: -------------------------------------------------------------------------------- 1 | check process admin_ui 2 | with pidfile /var/vcap/sys/run/admin_ui/admin_ui.pid 3 | start program "/var/vcap/jobs/admin_ui/bin/admin_ui_ctl start" 4 | stop program "/var/vcap/jobs/admin_ui/bin/admin_ui_ctl stop" 5 | group vcap 6 | if totalmem > <%= p("admin_ui.max_memory") %> for 2 cycles then exec "/bin/bash -c '/var/vcap/jobs/admin_ui/bin/admin_ui_ctl stop'" 7 | 8 | 9 | <% if_p("admin_ui.uri") do %> 10 | check process admin_ui_cf-registrar 11 | with pidfile /var/vcap/sys/run/admin_ui/cf-registrar.pid 12 | start program "/var/vcap/jobs/admin_ui/bin/admin_ui_cf-registrar_ctl start" 13 | stop program "/var/vcap/jobs/admin_ui/bin/admin_ui_cf-registrar_ctl stop" 14 | group vcap 15 | depends admin_ui 16 | <% end %> 17 | -------------------------------------------------------------------------------- /jobs/admin_ui/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: admin_ui 3 | templates: 4 | admin_ui.yml.erb: config/admin_ui.yml 5 | admin_ui_ctl.erb: bin/admin_ui_ctl 6 | cf-registrar_ctl.erb: bin/admin_ui_cf-registrar_ctl 7 | cf-registrar.config.yml.erb: config/cf-registrar/config.yml 8 | packages: 9 | - admin_ui 10 | - ruby 11 | - libyaml 12 | - libpq 13 | - mysqlclient 14 | - common 15 | 16 | properties: 17 | nats.user: 18 | description: "Username for cc client to connect to NATS" 19 | nats.password: 20 | description: "Password for cc client to connect to NATS" 21 | nats.address: 22 | description: "IP address of Cloud Foundry NATS server" 23 | nats.machines: 24 | description: "IP addresses of Cloud Foundry NATS servers" 25 | nats.port: 26 | description: "IP port of Cloud Foundry NATS server" 27 | admin_ui.cloud_controller_uri: 28 | description: "Full url of the Cloud Controller api" 29 | admin_ui.cloud_controller_ssl_verify_none: 30 | description: "Disable ssl verify" 31 | default: false 32 | admin_ui.uri: 33 | description: "Uri to register with the router, also requires the apps network to be set" 34 | admin_ui.max_memory: 35 | description: "Maximum memory for the admin ui process. Monit restarts process if limit is reached." 36 | default: "1 Gb" 37 | networks.apps: 38 | description: "The App network name" 39 | 40 | admin_ui.event_days: 41 | description: "Number of days to keep events" 42 | default: 1 43 | admin_ui.uaadb.scheme: 44 | description: "UAA db scheme" 45 | default: postgres 46 | admin_ui.uaadb.address: 47 | description: "UAA db address" 48 | admin_ui.uaadb.port: 49 | description: "UAA db port" 50 | admin_ui.uaadb.database: 51 | description: "UAA db database name" 52 | default: uaadb 53 | admin_ui.uaadb.username: 54 | description: "UAA db username" 55 | admin_ui.uaadb.password: 56 | description: "UAA db username" 57 | 58 | admin_ui.ccdb.scheme: 59 | description: "CC db scheme" 60 | default: postgres 61 | admin_ui.ccdb.address: 62 | description: "CC db address" 63 | admin_ui.ccdb.port: 64 | description: "CC db port" 65 | admin_ui.ccdb.database: 66 | description: "CC db database name" 67 | default: ccdb 68 | admin_ui.ccdb.username: 69 | description: "CC db username" 70 | admin_ui.ccdb.password: 71 | description: "CC db username" 72 | 73 | admin_ui.uaa.client.id: 74 | description: "Uaa OAuth client id" 75 | admin_ui.uaa.client.secret: 76 | description: "Uaa OAuth client secret" 77 | admin_ui.uaa.scopes.admin: 78 | description: "Array of uaa OAuth scopes of admin-ui admins" 79 | default: [ admin_ui.admin ] 80 | admin_ui.uaa.scopes.user: 81 | description: "Array of uaa OAuth scopes of admin-ui users" 82 | default: [ admin_ui.user ] 83 | -------------------------------------------------------------------------------- /jobs/admin_ui/templates/admin_ui.yml.erb: -------------------------------------------------------------------------------- 1 | <% 2 | def get_db_uri(db) 3 | db_path = "admin_ui.#{db}" 4 | [p("#{db_path}.scheme"), "://", p("#{db_path}.username"), ":", p("#{db_path}.password"), 5 | "@", p("#{db_path}.address"), ":", p("#{db_path}.port"), "/", p("#{db_path}.database")].join("") 6 | end 7 | %> 8 | --- 9 | bind_address: 0.0.0.0 10 | ccdb_uri: <%= get_db_uri("ccdb") %> 11 | cloud_controller_discovery_interval: 300 12 | cloud_controller_ssl_verify_none: <%= p("admin_ui.cloud_controller_ssl_verify_none") %> 13 | cloud_controller_uri: <%= p("admin_ui.cloud_controller_uri") %> 14 | component_connection_retries: 2 15 | data_file: /var/vcap/store/admin_ui/data.json 16 | db_uri: sqlite://var/vcap/store/admin_ui/store.db 17 | doppler_data_file: /var/vcap/store/admin_ui/doppler_data.json 18 | doppler_reconnect_delay: 300 19 | doppler_rollup_interval: 30 20 | event_days: <%= p("admin_ui.event_days") %> 21 | log_file_sftp_keys: [ ] 22 | log_files: [/var/vcap/sys/log/admin_ui/admin_ui.log] 23 | log_file: /var/vcap/sys/log/admin_ui/admin_ui.log 24 | log_file_page_size: 51200 25 | <% if_p("nats.address") do |address| %> 26 | mbus: nats://<%= p("nats.user") %>:<%= p("nats.password") %>@<%= address %>:<%= p("nats.port") %> 27 | <% end %> 28 | <% if_p("nats.machines") do |machines| %> 29 | mbus: nats://<%= p("nats.user") %>:<%= p("nats.password") %>@<%= machines[0] %>:<%= p("nats.port") %> 30 | <% end %> 31 | monitored_components: [NATS, CloudController, DEA, HealthManager, Router, -Provisioner, ALL] 32 | nats_discovery_interval: 30 33 | nats_discovery_timeout: 10 34 | port: 8070 35 | receiver_emails: [ ] 36 | sender_email: 37 | server: 10.10.10.10 38 | account: system@10.10.10.10 39 | stats_file: /var/vcap/store/admin_ui/stats.json 40 | stats_refresh_schedules: [ '0 5 * * *' ] 41 | stats_retries: 5 42 | stats_retry_interval: 300 43 | tasks_refresh_interval: 5000 44 | uaa_client: 45 | id: <%= p("admin_ui.uaa.client.id") %> 46 | secret: <%= p("admin_ui.uaa.client.secret") %> 47 | uaadb_uri: <%= get_db_uri("uaadb") %> 48 | uaa_groups_admin: [ <%= p("admin_ui.uaa.scopes.admin").join(", ") %> ] 49 | uaa_groups_user: [ <%= p("admin_ui.uaa.scopes.user").join(", ") %> ] 50 | varz_discovery_interval: 30 51 | -------------------------------------------------------------------------------- /jobs/admin_ui/templates/admin_ui_ctl.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e # exit immediately if a simple command exits with a non-zero status 4 | set -u # report the usage of uninitialized variables 5 | 6 | JOB_NAME=admin_ui 7 | JOB_DIR=/var/vcap/jobs/$JOB_NAME 8 | PACKAGE_DIR=/var/vcap/packages/$JOB_NAME 9 | STORE_DIR=/var/vcap/store/$JOB_NAME 10 | CONFIG=$JOB_DIR/config/$JOB_NAME.yml 11 | RUN_DIR=/var/vcap/sys/run/$JOB_NAME 12 | LOG_DIR=/var/vcap/sys/log/$JOB_NAME 13 | PIDFILE=$RUN_DIR/$JOB_NAME.pid 14 | 15 | 16 | export PATH=/var/vcap/packages/ruby/bin:$PATH 17 | 18 | source /var/vcap/packages/common/utils.sh 19 | 20 | case $1 in 21 | 22 | start) 23 | pid_guard $PIDFILE $JOB_NAME 24 | 25 | mkdir -p $RUN_DIR 26 | mkdir -p $LOG_DIR 27 | mkdir -p $STORE_DIR 28 | 29 | # Create a data file with initial json 30 | DATA_FILE=$STORE_DIR/data.json 31 | if [ ! -f $DATA_FILE ] 32 | then 33 | echo '{ "items": {}, "notified": {} }' > $DATA_FILE 34 | fi 35 | 36 | echo $$ > $PIDFILE 37 | 38 | cd $PACKAGE_DIR/admin_ui 39 | 40 | exec bundle exec bin/admin -c $CONFIG \ 41 | >>$LOG_DIR/$JOB_NAME.stdout.log \ 42 | 2>>$LOG_DIR/$JOB_NAME.stderr.log 43 | ;; 44 | 45 | 46 | stop) 47 | kill_and_wait $PIDFILE 25 1 48 | 49 | ;; 50 | *) 51 | echo "Usage: admin_ui_ctl {start|stop}" 52 | 53 | ;; 54 | 55 | esac 56 | exit 0 57 | -------------------------------------------------------------------------------- /jobs/admin_ui/templates/cf-registrar.config.yml.erb: -------------------------------------------------------------------------------- 1 | --- 2 | logging: 3 | file: /var/vcap/sys/log/admin_ui/cf-registrar.log 4 | level: info 5 | 6 | message_bus_servers: 7 | <% if_p("nats.address") do |address| %> 8 | - nats://<%= p("nats.user") %>:<%= p("nats.password") %>@<%= address %>:<%= p("nats.port") %> 9 | <% end %> 10 | <% if_p("nats.machines") do |machines| %> 11 | <% machines.each do |machine| %> 12 | - nats://<%= p("nats.user") %>:<%= p("nats.password") %>@<%= machine %>:<%= p("nats.port") %> 13 | <% end %> 14 | <% end %> 15 | 16 | 17 | <% if_p("admin_ui.uri") do |uri| %> 18 | uri: 19 | - <%= uri %> 20 | host: <%= spec.networks.send(p("networks.apps")).ip %> 21 | index: <%= spec.index %> 22 | port: 8070 23 | tags: 24 | component: admin_ui 25 | varz: 26 | type: admin_ui 27 | <% end %> 28 | 29 | -------------------------------------------------------------------------------- /jobs/admin_ui/templates/cf-registrar_ctl.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | export PATH=/var/vcap/packages/ruby/bin:$PATH 4 | RUN_DIR=/var/vcap/sys/run/admin_ui 5 | LOG_DIR=/var/vcap/sys/log/admin_ui 6 | PIDFILE=$RUN_DIR/cf-registrar.pid 7 | VCAP_COMMON_PATH=/var/vcap/packages/admin_ui/vcap-common 8 | 9 | source /var/vcap/packages/common/utils.sh 10 | 11 | case $1 in 12 | 13 | start) 14 | pid_guard $PIDFILE "VCAP registrar" 15 | 16 | mkdir -p $RUN_DIR 17 | mkdir -p $LOG_DIR 18 | 19 | echo $$ > $PIDFILE 20 | 21 | export CONFIG_FILE=/var/vcap/jobs/admin_ui/config/cf-registrar/config.yml 22 | 23 | cd $VCAP_COMMON_PATH 24 | exec /var/vcap/packages/ruby/bin/bundle exec \ 25 | $VCAP_COMMON_PATH/bin/cf-registrar \ 26 | --register-with-router \ 27 | >>$LOG_DIR/cf-registrar.stdout.log \ 28 | 2>>$LOG_DIR/cf-registrar.stderr.log 29 | 30 | ;; 31 | 32 | stop) 33 | kill_and_wait $PIDFILE 34 | 35 | ;; 36 | 37 | *) 38 | echo "Usage: cf-registrar_ctl {start|stop}" ;; 39 | 40 | esac 41 | exit 0 42 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry-community/admin-ui-boshrelease/54dfedd2074cdfd4d979cc643b05577310cae78a/jobs/deregister_admin_ui/monit -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: deregister_admin_ui 3 | packages: 4 | - ruby 5 | - uaac 6 | templates: 7 | bin/run: bin/run 8 | bin/deregister_admin_ui: bin/deregister_admin_ui 9 | helpers/ctl_setup.sh: helpers/ctl_setup.sh 10 | helpers/ctl_utils.sh: helpers/ctl_utils.sh 11 | data/properties.sh.erb: data/properties.sh 12 | 13 | properties: 14 | admin_ui.uaa.url: 15 | description: "Uaa url" 16 | admin_ui.uaa.admin_client_secret: 17 | description: "Uaa admin client secret" 18 | 19 | admin_ui.uaa.client.id: 20 | description: "Uaa OAuth client id" 21 | admin_ui.uaa.client.secret: 22 | description: "Uaa OAuth client secret" 23 | admin_ui.uaa.scopes.admin: 24 | description: "Array of uaa OAuth scopes of admin-ui admins" 25 | default: [ admin_ui.admin ] 26 | admin_ui.uaa.scopes.user: 27 | description: "Array of uaa OAuth scopes of admin-ui users" 28 | default: [ admin_ui.user ] 29 | 30 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/bin/deregister_admin_ui: -------------------------------------------------------------------------------- 1 | #!/bin/env ruby 2 | 3 | %w[uaa_url admin_client_secret client_id client_secret admin_scopes user_scopes].each do |var| 4 | fail "Please make sure #{var.upcase} is set" unless ENV[var.upcase] 5 | instance_variable_set "@#{var}".to_sym, ENV[var.upcase] 6 | end 7 | 8 | puts "Getting admin client token" 9 | `uaac target #{@uaa_url} --skip-ssl-validation` 10 | `uaac token client get admin --secret #{@admin_client_secret}` 11 | 12 | unless `uaac client get #{@client_id}` =~ /NotFound/ 13 | puts "Deleting #{@client_id} client" 14 | puts `uaac client delete #{@client_id}` 15 | end 16 | 17 | scopes = @admin_scopes.split(',') + @user_scopes.split(',') 18 | puts "Scopes to clean #{scopes.join(',')}" 19 | scopes.each do |scope| 20 | next if `uaac group get #{scope}` =~ /NotFound/ 21 | puts "Deleting group: #{scope}" 22 | puts `uaac group delete #{scope}` 23 | end 24 | 25 | current_authorities = `uaac client get admin -a authorities`.scan(/: (.+)/).flatten 26 | if current_authorities.include? "scim.write" 27 | puts "Removing scim.write scope to admin client" 28 | authorities = (current_authorities - ["scim.write"]).join(',') 29 | puts `uaac client update admin --authorities #{authorities}` 30 | end 31 | 32 | puts "Done" 33 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/bin/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e # exit immediately if a simple command exits with a non-zero status 4 | set -u # report the usage of uninitialized variables 5 | 6 | # Setup env vars and folders for the webapp_ctl script 7 | source /var/vcap/jobs/deregister_admin_ui/helpers/ctl_setup.sh 'deregister_admin_ui' 8 | source /var/vcap/jobs/deregister_admin_ui/data/properties.sh 9 | 10 | export HOME=/var/vcap/data 11 | ruby /var/vcap/jobs/deregister_admin_ui/bin/deregister_admin_ui 12 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/config/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry-community/admin-ui-boshrelease/54dfedd2074cdfd4d979cc643b05577310cae78a/jobs/deregister_admin_ui/templates/config/.gitkeep -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/data/properties.sh.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export UAA_URL="<%= p('admin_ui.uaa.url') %>" 4 | export ADMIN_CLIENT_SECRET="<%= p('admin_ui.uaa.admin_client_secret') %>" 5 | export CLIENT_ID="<%= p('admin_ui.uaa.client.id') %>" 6 | export CLIENT_SECRET="<%= p('admin_ui.uaa.client.secret') %>" 7 | export ADMIN_SCOPES="<%= p('admin_ui.uaa.scopes.admin').join(",") %>" 8 | export USER_SCOPES="<%= p('admin_ui.uaa.scopes.user').join(",") %>" 9 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/helpers/ctl_setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Setup env vars and folders for the ctl script 4 | # This helps keep the ctl script as readable 5 | # as possible 6 | 7 | # Usage options: 8 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh JOB_NAME OUTPUT_LABEL 9 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar 10 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar foobar 11 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar nginx 12 | 13 | set -e # exit immediately if a simple command exits with a non-zero status 14 | set -u # report the usage of uninitialized variables 15 | 16 | JOB_NAME=$1 17 | output_label=${2:-${JOB_NAME}} 18 | 19 | export JOB_DIR=/var/vcap/jobs/$JOB_NAME 20 | chmod 755 $JOB_DIR # to access file via symlink 21 | 22 | source $JOB_DIR/helpers/ctl_utils.sh 23 | 24 | # Add all packages' /bin & /sbin into $PATH 25 | for package_bin_dir in $(ls -d /var/vcap/packages/*/*bin) 26 | do 27 | export PATH=${package_bin_dir}:$PATH 28 | done 29 | 30 | export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-''} # default to empty 31 | for package_bin_dir in $(ls -d /var/vcap/packages/*/lib) 32 | do 33 | export LD_LIBRARY_PATH=${package_bin_dir}:$LD_LIBRARY_PATH 34 | done 35 | 36 | # Setup log, run and tmp folders 37 | 38 | export RUN_DIR=/var/vcap/sys/run/$JOB_NAME 39 | export LOG_DIR=/var/vcap/sys/log/$JOB_NAME 40 | export TMP_DIR=/var/vcap/sys/tmp/$JOB_NAME 41 | export STORE_DIR=/var/vcap/store/$JOB_NAME 42 | for dir in $RUN_DIR $LOG_DIR $TMP_DIR $STORE_DIR 43 | do 44 | mkdir -p ${dir} 45 | chown vcap:vcap ${dir} 46 | chmod 775 ${dir} 47 | done 48 | export TMPDIR=$TMP_DIR 49 | 50 | export C_INCLUDE_PATH=/var/vcap/packages/mysqlclient/include/mysql:/var/vcap/packages/sqlite/include:/var/vcap/packages/libpq/include 51 | export LIBRARY_PATH=/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib 52 | 53 | echo '$PATH' $PATH 54 | -------------------------------------------------------------------------------- /jobs/deregister_admin_ui/templates/helpers/ctl_utils.sh: -------------------------------------------------------------------------------- 1 | # Helper functions used by ctl scripts 2 | 3 | # links a job file (probably a config file) into a package 4 | # Example usage: 5 | # link_job_file_to_package config/redis.yml [config/redis.yml] 6 | # link_job_file_to_package config/wp-config.php wp-config.php 7 | link_job_file_to_package() { 8 | source_job_file=$1 9 | target_package_file=${2:-$source_job_file} 10 | full_package_file=$WEBAPP_DIR/${target_package_file} 11 | 12 | link_job_file ${source_job_file} ${full_package_file} 13 | } 14 | 15 | # links a job file (probably a config file) somewhere 16 | # Example usage: 17 | # link_job_file config/bashrc /home/vcap/.bashrc 18 | link_job_file() { 19 | source_job_file=$1 20 | target_file=$2 21 | full_job_file=$JOB_DIR/${source_job_file} 22 | 23 | echo link_job_file ${full_job_file} ${target_file} 24 | if [[ ! -f ${full_job_file} ]] 25 | then 26 | echo "file to link ${full_job_file} does not exist" 27 | else 28 | # Create/recreate the symlink to current job file 29 | # If another process is using the file, it won't be 30 | # deleted, so don't attempt to create the symlink 31 | mkdir -p $(dirname ${target_file}) 32 | ln -nfs ${full_job_file} ${target_file} 33 | fi 34 | } 35 | 36 | # If loaded within monit ctl scripts then pipe output 37 | # If loaded from 'source ../utils.sh' then normal STDOUT 38 | redirect_output() { 39 | SCRIPT=$1 40 | mkdir -p /var/vcap/sys/log/monit 41 | exec 1>> /var/vcap/sys/log/monit/$SCRIPT.log 42 | exec 2>> /var/vcap/sys/log/monit/$SCRIPT.err.log 43 | } 44 | 45 | pid_guard() { 46 | pidfile=$1 47 | name=$2 48 | 49 | if [ -f "$pidfile" ]; then 50 | pid=$(head -1 "$pidfile") 51 | 52 | if [ -n "$pid" ] && [ -e /proc/$pid ]; then 53 | echo "$name is already running, please stop it first" 54 | exit 1 55 | fi 56 | 57 | echo "Removing stale pidfile..." 58 | rm $pidfile 59 | fi 60 | } 61 | 62 | wait_pid() { 63 | pid=$1 64 | try_kill=$2 65 | timeout=${3:-0} 66 | force=${4:-0} 67 | countdown=$(( $timeout * 10 )) 68 | 69 | echo wait_pid $pid $try_kill $timeout $force $countdown 70 | if [ -e /proc/$pid ]; then 71 | if [ "$try_kill" = "1" ]; then 72 | echo "Killing $pidfile: $pid " 73 | kill $pid 74 | fi 75 | while [ -e /proc/$pid ]; do 76 | sleep 0.1 77 | [ "$countdown" != '0' -a $(( $countdown % 10 )) = '0' ] && echo -n . 78 | if [ $timeout -gt 0 ]; then 79 | if [ $countdown -eq 0 ]; then 80 | if [ "$force" = "1" ]; then 81 | echo -ne "\nKill timed out, using kill -9 on $pid... " 82 | kill -9 $pid 83 | sleep 0.5 84 | fi 85 | break 86 | else 87 | countdown=$(( $countdown - 1 )) 88 | fi 89 | fi 90 | done 91 | if [ -e /proc/$pid ]; then 92 | echo "Timed Out" 93 | else 94 | echo "Stopped" 95 | fi 96 | else 97 | echo "Process $pid is not running" 98 | echo "Attempting to kill pid anyway..." 99 | kill $pid 100 | fi 101 | } 102 | 103 | wait_pidfile() { 104 | pidfile=$1 105 | try_kill=$2 106 | timeout=${3:-0} 107 | force=${4:-0} 108 | countdown=$(( $timeout * 10 )) 109 | 110 | if [ -f "$pidfile" ]; then 111 | pid=$(head -1 "$pidfile") 112 | if [ -z "$pid" ]; then 113 | echo "Unable to get pid from $pidfile" 114 | exit 1 115 | fi 116 | 117 | wait_pid $pid $try_kill $timeout $force 118 | 119 | rm -f $pidfile 120 | else 121 | echo "Pidfile $pidfile doesn't exist" 122 | fi 123 | } 124 | 125 | kill_and_wait() { 126 | pidfile=$1 127 | # Monit default timeout for start/stop is 30s 128 | # Append 'with timeout {n} seconds' to monit start/stop program configs 129 | timeout=${2:-25} 130 | force=${3:-1} 131 | if [[ -f ${pidfile} ]] 132 | then 133 | wait_pidfile $pidfile 1 $timeout $force 134 | else 135 | # TODO assume $1 is something to grep from 'ps ax' 136 | pid="$(ps auwwx | grep "$1" | awk '{print $2}')" 137 | wait_pid $pid 1 $timeout $force 138 | fi 139 | } 140 | 141 | check_nfs_mount() { 142 | opts=$1 143 | exports=$2 144 | mount_point=$3 145 | 146 | if grep -qs $mount_point /proc/mounts; then 147 | echo "Found NFS mount $mount_point" 148 | else 149 | echo "Mounting NFS..." 150 | mount $opts $exports $mount_point 151 | if [ $? != 0 ]; then 152 | echo "Cannot mount NFS from $exports to $mount_point, exiting..." 153 | exit 1 154 | fi 155 | fi 156 | } 157 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry-community/admin-ui-boshrelease/54dfedd2074cdfd4d979cc643b05577310cae78a/jobs/register_admin_ui/monit -------------------------------------------------------------------------------- /jobs/register_admin_ui/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: register_admin_ui 3 | packages: 4 | - ruby 5 | - uaac 6 | templates: 7 | bin/run: bin/run 8 | bin/register_admin_ui: bin/register_admin_ui 9 | helpers/ctl_setup.sh: helpers/ctl_setup.sh 10 | helpers/ctl_utils.sh: helpers/ctl_utils.sh 11 | data/properties.sh.erb: data/properties.sh 12 | 13 | properties: 14 | admin_ui.uaa.url: 15 | description: "Uaa url" 16 | admin_ui.uaa.admin_client_secret: 17 | description: "Uaa admin client secret" 18 | 19 | admin_ui.uaa.client.id: 20 | description: "Uaa OAuth client id" 21 | admin_ui.uaa.client.secret: 22 | description: "Uaa OAuth client secret" 23 | admin_ui.uaa.scopes.admin: 24 | description: "Array of uaa OAuth scopes of admin-ui admins" 25 | default: [ admin_ui.admin ] 26 | admin_ui.uaa.scopes.user: 27 | description: "Array of uaa OAuth scopes of admin-ui users" 28 | default: [ admin_ui.user ] 29 | admin_ui.admins: 30 | description: "Array of uaa users with scopes.admin memberships" 31 | default: [] 32 | admin_ui.users: 33 | description: "Array of uaa users with scopes.user memberships" 34 | default: [] 35 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/bin/register_admin_ui: -------------------------------------------------------------------------------- 1 | #!/bin/env ruby 2 | 3 | %w[uaa_url admin_client_secret client_id client_secret admin_scopes user_scopes admins users].each do |var| 4 | fail "Please make sure #{var.upcase} is set" unless ENV[var.upcase] 5 | instance_variable_set "@#{var}".to_sym, ENV[var.upcase] 6 | end 7 | 8 | puts "Getting admin client token" 9 | `uaac target #{@uaa_url} --skip-ssl-validation` 10 | `uaac token client get admin --secret #{@admin_client_secret}` 11 | 12 | current_authorities = `uaac client get admin -a authorities`.scan(/: (.+)/).flatten 13 | unless current_authorities.include? "scim.write" 14 | puts "Adding scim.write scope to admin client" 15 | authorities = (current_authorities + ["scim.write"]).join(',') 16 | puts `uaac client update admin --authorities #{authorities}` 17 | puts `uaac token client get admin --secret #{@admin_client_secret}` 18 | end 19 | 20 | client_args = [ 21 | "--scope admin_ui.admin,admin_ui.user,openid", 22 | "--authorities clients.write,cloud_controller.admin,cloud_controller.read,cloud_controller.write,doppler.firehose,openid,scim.read,scim.write", 23 | "--autoapprove true", 24 | "--authorized_grant_types authorization_code,client_credentials,refresh_token" 25 | ] 26 | 27 | if `uaac client get #{@client_id}` =~ /NotFound/ 28 | puts "Creating #{@client_id} client" 29 | cmd = [ "uaac client add #{@client_id}" ] 30 | cmd += client_args + [ "--secret #{@client_secret}" ] 31 | puts `#{cmd.join(' ')}` 32 | else 33 | puts "Updating #{@client_id} client" 34 | cmd = [ "uaac client update #{@client_id}" ] 35 | puts `#{(cmd + client_args).join(' ')}` 36 | puts `uaac secret set "#{@client_id}" --secret #{@client_secret}` 37 | end 38 | 39 | roles = { admins: @admin_scopes.split(','), users: @user_scopes.split(',') } 40 | roles.each do |role, scopes| 41 | scopes.each do |scope| 42 | if `uaac group get #{scope}` =~ /NotFound/ 43 | puts "Adding group: #{scope}" 44 | puts `uaac group add #{scope}` 45 | end 46 | 47 | members = instance_variable_get("@#{role}").gsub(',', ' ') 48 | unless members.empty? 49 | puts "Adding members: #{members} to group: #{scope}" 50 | puts `uaac member add #{scope} #{members}` 51 | end 52 | end 53 | end 54 | 55 | puts "Done" 56 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/bin/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e # exit immediately if a simple command exits with a non-zero status 4 | set -u # report the usage of uninitialized variables 5 | 6 | # Setup env vars and folders for the webapp_ctl script 7 | source /var/vcap/jobs/register_admin_ui/helpers/ctl_setup.sh 'register_admin_ui' 8 | source /var/vcap/jobs/register_admin_ui/data/properties.sh 9 | 10 | export HOME=/var/vcap/data 11 | ruby /var/vcap/jobs/register_admin_ui/bin/register_admin_ui 12 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/config/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry-community/admin-ui-boshrelease/54dfedd2074cdfd4d979cc643b05577310cae78a/jobs/register_admin_ui/templates/config/.gitkeep -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/data/properties.sh.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export UAA_URL="<%= p('admin_ui.uaa.url') %>" 4 | export ADMIN_CLIENT_SECRET="<%= p('admin_ui.uaa.admin_client_secret') %>" 5 | export CLIENT_ID="<%= p('admin_ui.uaa.client.id') %>" 6 | export CLIENT_SECRET="<%= p('admin_ui.uaa.client.secret') %>" 7 | export ADMIN_SCOPES="<%= p('admin_ui.uaa.scopes.admin').join(",") %>" 8 | export USER_SCOPES="<%= p('admin_ui.uaa.scopes.user').join(",") %>" 9 | export ADMINS="<%= p('admin_ui.admins').join(",") %>" 10 | export USERS="<%= p('admin_ui.users').join(",") %>" 11 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/helpers/ctl_setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Setup env vars and folders for the ctl script 4 | # This helps keep the ctl script as readable 5 | # as possible 6 | 7 | # Usage options: 8 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh JOB_NAME OUTPUT_LABEL 9 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar 10 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar foobar 11 | # source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar nginx 12 | 13 | set -e # exit immediately if a simple command exits with a non-zero status 14 | set -u # report the usage of uninitialized variables 15 | 16 | JOB_NAME=$1 17 | output_label=${2:-${JOB_NAME}} 18 | 19 | export JOB_DIR=/var/vcap/jobs/$JOB_NAME 20 | chmod 755 $JOB_DIR # to access file via symlink 21 | 22 | source $JOB_DIR/helpers/ctl_utils.sh 23 | 24 | # Add all packages' /bin & /sbin into $PATH 25 | for package_bin_dir in $(ls -d /var/vcap/packages/*/*bin) 26 | do 27 | export PATH=${package_bin_dir}:$PATH 28 | done 29 | 30 | export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-''} # default to empty 31 | for package_bin_dir in $(ls -d /var/vcap/packages/*/lib) 32 | do 33 | export LD_LIBRARY_PATH=${package_bin_dir}:$LD_LIBRARY_PATH 34 | done 35 | 36 | # Setup log, run and tmp folders 37 | 38 | export RUN_DIR=/var/vcap/sys/run/$JOB_NAME 39 | export LOG_DIR=/var/vcap/sys/log/$JOB_NAME 40 | export TMP_DIR=/var/vcap/sys/tmp/$JOB_NAME 41 | export STORE_DIR=/var/vcap/store/$JOB_NAME 42 | for dir in $RUN_DIR $LOG_DIR $TMP_DIR $STORE_DIR 43 | do 44 | mkdir -p ${dir} 45 | chown vcap:vcap ${dir} 46 | chmod 775 ${dir} 47 | done 48 | export TMPDIR=$TMP_DIR 49 | 50 | export C_INCLUDE_PATH=/var/vcap/packages/mysqlclient/include/mysql:/var/vcap/packages/sqlite/include:/var/vcap/packages/libpq/include 51 | export LIBRARY_PATH=/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib 52 | 53 | echo '$PATH' $PATH 54 | -------------------------------------------------------------------------------- /jobs/register_admin_ui/templates/helpers/ctl_utils.sh: -------------------------------------------------------------------------------- 1 | # Helper functions used by ctl scripts 2 | 3 | # links a job file (probably a config file) into a package 4 | # Example usage: 5 | # link_job_file_to_package config/redis.yml [config/redis.yml] 6 | # link_job_file_to_package config/wp-config.php wp-config.php 7 | link_job_file_to_package() { 8 | source_job_file=$1 9 | target_package_file=${2:-$source_job_file} 10 | full_package_file=$WEBAPP_DIR/${target_package_file} 11 | 12 | link_job_file ${source_job_file} ${full_package_file} 13 | } 14 | 15 | # links a job file (probably a config file) somewhere 16 | # Example usage: 17 | # link_job_file config/bashrc /home/vcap/.bashrc 18 | link_job_file() { 19 | source_job_file=$1 20 | target_file=$2 21 | full_job_file=$JOB_DIR/${source_job_file} 22 | 23 | echo link_job_file ${full_job_file} ${target_file} 24 | if [[ ! -f ${full_job_file} ]] 25 | then 26 | echo "file to link ${full_job_file} does not exist" 27 | else 28 | # Create/recreate the symlink to current job file 29 | # If another process is using the file, it won't be 30 | # deleted, so don't attempt to create the symlink 31 | mkdir -p $(dirname ${target_file}) 32 | ln -nfs ${full_job_file} ${target_file} 33 | fi 34 | } 35 | 36 | # If loaded within monit ctl scripts then pipe output 37 | # If loaded from 'source ../utils.sh' then normal STDOUT 38 | redirect_output() { 39 | SCRIPT=$1 40 | mkdir -p /var/vcap/sys/log/monit 41 | exec 1>> /var/vcap/sys/log/monit/$SCRIPT.log 42 | exec 2>> /var/vcap/sys/log/monit/$SCRIPT.err.log 43 | } 44 | 45 | pid_guard() { 46 | pidfile=$1 47 | name=$2 48 | 49 | if [ -f "$pidfile" ]; then 50 | pid=$(head -1 "$pidfile") 51 | 52 | if [ -n "$pid" ] && [ -e /proc/$pid ]; then 53 | echo "$name is already running, please stop it first" 54 | exit 1 55 | fi 56 | 57 | echo "Removing stale pidfile..." 58 | rm $pidfile 59 | fi 60 | } 61 | 62 | wait_pid() { 63 | pid=$1 64 | try_kill=$2 65 | timeout=${3:-0} 66 | force=${4:-0} 67 | countdown=$(( $timeout * 10 )) 68 | 69 | echo wait_pid $pid $try_kill $timeout $force $countdown 70 | if [ -e /proc/$pid ]; then 71 | if [ "$try_kill" = "1" ]; then 72 | echo "Killing $pidfile: $pid " 73 | kill $pid 74 | fi 75 | while [ -e /proc/$pid ]; do 76 | sleep 0.1 77 | [ "$countdown" != '0' -a $(( $countdown % 10 )) = '0' ] && echo -n . 78 | if [ $timeout -gt 0 ]; then 79 | if [ $countdown -eq 0 ]; then 80 | if [ "$force" = "1" ]; then 81 | echo -ne "\nKill timed out, using kill -9 on $pid... " 82 | kill -9 $pid 83 | sleep 0.5 84 | fi 85 | break 86 | else 87 | countdown=$(( $countdown - 1 )) 88 | fi 89 | fi 90 | done 91 | if [ -e /proc/$pid ]; then 92 | echo "Timed Out" 93 | else 94 | echo "Stopped" 95 | fi 96 | else 97 | echo "Process $pid is not running" 98 | echo "Attempting to kill pid anyway..." 99 | kill $pid 100 | fi 101 | } 102 | 103 | wait_pidfile() { 104 | pidfile=$1 105 | try_kill=$2 106 | timeout=${3:-0} 107 | force=${4:-0} 108 | countdown=$(( $timeout * 10 )) 109 | 110 | if [ -f "$pidfile" ]; then 111 | pid=$(head -1 "$pidfile") 112 | if [ -z "$pid" ]; then 113 | echo "Unable to get pid from $pidfile" 114 | exit 1 115 | fi 116 | 117 | wait_pid $pid $try_kill $timeout $force 118 | 119 | rm -f $pidfile 120 | else 121 | echo "Pidfile $pidfile doesn't exist" 122 | fi 123 | } 124 | 125 | kill_and_wait() { 126 | pidfile=$1 127 | # Monit default timeout for start/stop is 30s 128 | # Append 'with timeout {n} seconds' to monit start/stop program configs 129 | timeout=${2:-25} 130 | force=${3:-1} 131 | if [[ -f ${pidfile} ]] 132 | then 133 | wait_pidfile $pidfile 1 $timeout $force 134 | else 135 | # TODO assume $1 is something to grep from 'ps ax' 136 | pid="$(ps auwwx | grep "$1" | awk '{print $2}')" 137 | wait_pid $pid 1 $timeout $force 138 | fi 139 | } 140 | 141 | check_nfs_mount() { 142 | opts=$1 143 | exports=$2 144 | mount_point=$3 145 | 146 | if grep -qs $mount_point /proc/mounts; then 147 | echo "Found NFS mount $mount_point" 148 | else 149 | echo "Mounting NFS..." 150 | mount $opts $exports $mount_point 151 | if [ $? != 0 ]; then 152 | echo "Cannot mount NFS from $exports to $mount_point, exiting..." 153 | exit 1 154 | fi 155 | fi 156 | } 157 | -------------------------------------------------------------------------------- /make_manifest: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | release_dir=$(dirname $0) 4 | templates=$release_dir/templates 5 | 6 | infrastructure=$1 7 | 8 | shift 9 | 10 | if [ "$infrastructure" != "aws" ] && \ 11 | [ "$infrastructure" != "warden" ] && \ 12 | [ "$infrastructure" != "vsphere" ] ; then 13 | echo "usage: ./make_manifest [stubs...]" 14 | exit 1 15 | fi 16 | 17 | if [ "$infrastructure" == "warden" ] ; then 18 | BOSH_STATUS=$(bosh status) 19 | EXPECTED_DIRECTOR_NAME="Bosh Lite Director" 20 | if [[ "$(echo "$BOSH_STATUS" | grep Name)" != *"$EXPECTED_DIRECTOR_NAME"* ]]; then 21 | echo "Can only target $EXPECTED_DIRECTOR_NAME. Please use 'bosh target' before running this script." 22 | exit 1 23 | fi 24 | 25 | temp_dir=$(mktemp -d admin_ui-XXXXXXXXXX) || { echo "Failed to create temp file"; exit 1; } 26 | 27 | bosh -q download manifest cf-warden $temp_dir/cf-warden.yml 28 | sed -i.back 's/!//g' $temp_dir/cf-warden.yml 29 | 30 | spiff merge \ 31 | $templates/admin-ui-deployment.yml \ 32 | $temp_dir/cf-warden.yml \ 33 | $templates/warden-stub.yml \ 34 | $* > $release_dir/admin-ui.local.yml 35 | 36 | rm -f $temp_dir/* 37 | rmdir $temp_dir 38 | 39 | bosh deployment $release_dir/admin-ui.local.yml 40 | bosh status 41 | else 42 | spiff merge \ 43 | $templates/admin-ui-deployment.yml \ 44 | $* 45 | fi 46 | -------------------------------------------------------------------------------- /packages/admin_ui/packaging: -------------------------------------------------------------------------------- 1 | # abort script on any command that exits with a non zero value 2 | set -e -x 3 | 4 | bundle_cmd=/var/vcap/packages/ruby/bin/bundle 5 | mysqlclient_dir=/var/vcap/packages/mysqlclient 6 | libpq_dir=/var/vcap/packages/libpq 7 | 8 | cp -a ${BOSH_COMPILE_TARGET}/{admin_ui,vcap-common} ${BOSH_INSTALL_TARGET} 9 | 10 | cd ${BOSH_INSTALL_TARGET}/admin_ui 11 | $bundle_cmd config build.mysql2 --with-mysql-config=$mysqlclient_dir/bin/mysql_config 12 | $bundle_cmd config build.pg --with-pg-lib=$libpq_dir/lib --with-pg-include=$libpq_dir/include 13 | $bundle_cmd config build.sequel_pg --with-pg-lib=$libpq_dir/lib --with-pg-include=$libpq_dir/include 14 | $bundle_cmd config build.sqlite3 --with-sqlite3-dir=/var/vcap/packages/sqlite 15 | $bundle_cmd install --local --deployment --without=development test 16 | 17 | cd ${BOSH_INSTALL_TARGET}/vcap-common 18 | $bundle_cmd install --local --deployment --without=development test 19 | -------------------------------------------------------------------------------- /packages/admin_ui/pre_packaging: -------------------------------------------------------------------------------- 1 | # abort script on any command that exits with a non zero value 2 | set -e 3 | 4 | cd ${BUILD_DIR}/admin_ui 5 | BUNDLE_WITHOUT=development:test bundle package --all 6 | 7 | cd ${BUILD_DIR}/vcap-common 8 | BUNDLE_WITHOUT=development:test bundle package --all -------------------------------------------------------------------------------- /packages/admin_ui/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: admin_ui 3 | 4 | dependencies: 5 | - ruby 6 | - libpq 7 | - sqlite 8 | - mysqlclient 9 | 10 | files: 11 | - admin_ui/{Gemfile,Gemfile.lock} 12 | - admin_ui/{lib,bin,db}/**/* 13 | - vcap-common/**/* 14 | -------------------------------------------------------------------------------- /packages/common/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | cp -a common/* ${BOSH_INSTALL_TARGET} 4 | -------------------------------------------------------------------------------- /packages/common/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: common 3 | files: 4 | - common/utils.sh 5 | -------------------------------------------------------------------------------- /packages/libpq/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | version=9.0.3 4 | 5 | tar xzf postgres/postgresql-${version}.tar.gz 6 | 7 | cd postgresql-${version} 8 | 9 | ./configure --prefix=${BOSH_INSTALL_TARGET} 10 | 11 | pushd src/bin/pg_config 12 | make 13 | make install 14 | popd 15 | 16 | cp -LR src/include ${BOSH_INSTALL_TARGET} 17 | 18 | pushd src/interfaces/libpq 19 | make 20 | make install 21 | popd 22 | -------------------------------------------------------------------------------- /packages/libpq/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: libpq 3 | files: 4 | - postgres/postgresql-9.0.3.tar.gz 5 | -------------------------------------------------------------------------------- /packages/libyaml/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | tar xzf libyaml/yaml-0.1.6.tar.gz 4 | 5 | cd yaml-0.1.6 6 | 7 | ./configure --prefix=${BOSH_INSTALL_TARGET} 8 | make 9 | make install 10 | -------------------------------------------------------------------------------- /packages/libyaml/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: libyaml 3 | files: 4 | - libyaml/yaml-0.1.6.tar.gz 5 | -------------------------------------------------------------------------------- /packages/mysqlclient/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | MYSQL_CLIENT_VERSION=6.1.6 4 | 5 | tar xzf mysqlclient/mysql-connector-c-${MYSQL_CLIENT_VERSION}-src.tar.gz 6 | ( 7 | set -e 8 | cd mysql-connector-c-${MYSQL_CLIENT_VERSION}-src 9 | mkdir bld 10 | cd bld 11 | cmake .. -DCMAKE_INSTALL_PREFIX=${BOSH_INSTALL_TARGET} 12 | make 13 | make install 14 | ) 15 | -------------------------------------------------------------------------------- /packages/mysqlclient/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: mysqlclient 3 | 4 | files: 5 | - mysqlclient/**/* 6 | -------------------------------------------------------------------------------- /packages/ruby/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | tar xzf ruby/ruby-2.2.4.tar.gz 4 | pushd ruby-2.2.4 5 | ./configure --prefix=${BOSH_INSTALL_TARGET} --disable-install-doc --with-opt-dir=/var/vcap/packages/libyaml 6 | make 7 | make install 8 | popd 9 | 10 | ${BOSH_INSTALL_TARGET}/bin/gem install ruby/bundler-1.11.2.gem --no-ri --no-rdoc -------------------------------------------------------------------------------- /packages/ruby/spec: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | name: ruby 4 | dependencies: 5 | - libyaml 6 | files: 7 | - ruby/ruby-2.2.4.tar.gz 8 | - ruby/bundler-1.11.2.gem -------------------------------------------------------------------------------- /packages/sqlite/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | tar xzf sqlite/sqlite-autoconf-3070500.tar.gz 4 | 5 | cd sqlite-autoconf-3070500 6 | 7 | ./configure --prefix=${BOSH_INSTALL_TARGET} 8 | make 9 | make install 10 | -------------------------------------------------------------------------------- /packages/sqlite/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: sqlite 3 | files: 4 | - sqlite/sqlite-autoconf-3070500.tar.gz 5 | -------------------------------------------------------------------------------- /packages/uaac/packaging: -------------------------------------------------------------------------------- 1 | set -e # exit immediately if a simple command exits with a non-zero status 2 | set -u # report the usage of uninitialized variables 3 | 4 | cd uaac 5 | 6 | bundle_cmd=/var/vcap/packages/ruby/bin/bundle 7 | 8 | $bundle_cmd install --local --deployment --binstubs 9 | 10 | cp -r .bundle vendor bin Gemfile* ${BOSH_INSTALL_TARGET} 11 | -------------------------------------------------------------------------------- /packages/uaac/pre_packaging: -------------------------------------------------------------------------------- 1 | # abort script on any command that exits with a non zero value 2 | set -e 3 | 4 | cd ${BUILD_DIR}/uaac 5 | bundle package --all 6 | -------------------------------------------------------------------------------- /packages/uaac/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: uaac 3 | dependencies: 4 | - ruby 5 | files: 6 | - uaac/Gemfile* 7 | 8 | -------------------------------------------------------------------------------- /releases/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry-community/admin-ui-boshrelease/54dfedd2074cdfd4d979cc643b05577310cae78a/releases/.gitkeep -------------------------------------------------------------------------------- /releases/admin-ui: -------------------------------------------------------------------------------- 1 | . -------------------------------------------------------------------------------- /releases/admin-ui-1.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 1 5 | sha1: !binary |- 6 | NDIyYjU0MGJjZDMxMDNkYmJkZWVkMGRlMjA3OTEyNmNkYzdhY2FlZg== 7 | fingerprint: !binary |- 8 | OGJlODYwZmQxMTU3YjIzZGQzNTJlZTVlZjFkZTdlODJlMGIzODMyZQ== 9 | dependencies: 10 | - ruby 11 | - name: common 12 | version: 1 13 | sha1: !binary |- 14 | MzhkMmE1ZTU1OWI0NTAxNDc1YjYyZmRiYTQ4MTA4NzRmZmY2MmIxZQ== 15 | fingerprint: !binary |- 16 | OGMwMTI1N2ViZTZmZGRhNmY0NWVmODk5NmYwYWRiNTQwMDFlODU1ZQ== 17 | dependencies: [] 18 | - name: libyaml 19 | version: 1 20 | sha1: !binary |- 21 | ZTU5NDBlNDg1MjFmZDQ1YWFiNWRjM2RmOTY1ZDViOTg2MzI5MWJhYw== 22 | fingerprint: !binary |- 23 | MmM4MzUwYmM2YjYwYjdjNTBmMmI5ZDdkMTllZDAyZTE5YjcyYmYzOA== 24 | dependencies: [] 25 | - name: ruby 26 | version: 1 27 | sha1: !binary |- 28 | NTZlYjgxMGQxOTFjNjI1M2ZiNDg4MjE4N2IzYjk4NGY5YjUxMTU4OQ== 29 | fingerprint: !binary |- 30 | MmFlYjYwNGM5Y2JiMmNiN2QyN2JlZDJlOTJkOWQ4YzkxM2U0NDg4Zg== 31 | dependencies: 32 | - libyaml 33 | jobs: 34 | - name: admin_ui 35 | version: 1 36 | fingerprint: !binary |- 37 | YjdiNzNhZTRkOTlhNThmZmVmNDJmZWJmM2Y5YzFhZmVkMDNmZTcyMg== 38 | sha1: !binary |- 39 | Zjk1YjNiOTAzN2I2ZDVlOTgyMDEwYzM5NGNiMWEwNzU4ZDhjOTllZg== 40 | commit_hash: 7a3791aa 41 | uncommitted_changes: true 42 | name: admin-ui 43 | version: 1 44 | -------------------------------------------------------------------------------- /releases/admin-ui-10.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 8cc65d7327dec6814701265fa66d5b8496f572f7 5 | fingerprint: 8cc65d7327dec6814701265fa66d5b8496f572f7 6 | sha1: 17654ba829e44e20cd7ca995fd4301fdc1e9545c 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 099411f13a0635d7cf46365ab79cdb1fdf16d86d 24 | fingerprint: 099411f13a0635d7cf46365ab79cdb1fdf16d86d 25 | sha1: 09b65bcaa58277b16df61bb10cc9b5a403da92ff 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 34 | fingerprint: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 35 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 45 | fingerprint: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 46 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d 52 | fingerprint: b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d 53 | sha1: 90ba89c85f7cdf6cf495b5a54f2101ff2a1c0b9f 54 | - name: deregister_admin_ui 55 | version: 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b 56 | fingerprint: 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b 57 | sha1: 9bca28cd831e865888294b89ee89382fe42c2914 58 | - name: register_admin_ui 59 | version: 63f74481393ba658b009d04a8ef5a2ac8970f934 60 | fingerprint: 63f74481393ba658b009d04a8ef5a2ac8970f934 61 | sha1: 42eba4c0e6dd04ddd3da99e3bfeffa541f7d8720 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: d63173ae 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '10' 70 | -------------------------------------------------------------------------------- /releases/admin-ui-11.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 8cc65d7327dec6814701265fa66d5b8496f572f7 5 | fingerprint: 8cc65d7327dec6814701265fa66d5b8496f572f7 6 | sha1: 17654ba829e44e20cd7ca995fd4301fdc1e9545c 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 099411f13a0635d7cf46365ab79cdb1fdf16d86d 24 | fingerprint: 099411f13a0635d7cf46365ab79cdb1fdf16d86d 25 | sha1: 09b65bcaa58277b16df61bb10cc9b5a403da92ff 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 34 | fingerprint: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 35 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 45 | fingerprint: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 46 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: a998e16b68776af28198909591c18bd92868392b 52 | fingerprint: a998e16b68776af28198909591c18bd92868392b 53 | sha1: f759a337c5d3676ddacfbe1164c319d9015307fa 54 | - name: deregister_admin_ui 55 | version: 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b 56 | fingerprint: 8d3dd8c67e8c3a7a7aa80798966295f52fb9265b 57 | sha1: 9bca28cd831e865888294b89ee89382fe42c2914 58 | - name: register_admin_ui 59 | version: 63f74481393ba658b009d04a8ef5a2ac8970f934 60 | fingerprint: 63f74481393ba658b009d04a8ef5a2ac8970f934 61 | sha1: 42eba4c0e6dd04ddd3da99e3bfeffa541f7d8720 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: da36e92d 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '11' 70 | -------------------------------------------------------------------------------- /releases/admin-ui-2.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 2 5 | sha1: !binary |- 6 | NmJlMmNhODQ1ODdmMjE2ODcwOWQ2NzE4YjMxNmM0YmQ3Y2NjNTRiMw== 7 | fingerprint: !binary |- 8 | YzdlNjg0YWFkNGRjZjdkMDBhYmViNTkxZjkyYWY3NjZhNzdlOTRjZA== 9 | dependencies: 10 | - ruby 11 | - name: common 12 | version: 1 13 | sha1: !binary |- 14 | MzhkMmE1ZTU1OWI0NTAxNDc1YjYyZmRiYTQ4MTA4NzRmZmY2MmIxZQ== 15 | fingerprint: !binary |- 16 | OGMwMTI1N2ViZTZmZGRhNmY0NWVmODk5NmYwYWRiNTQwMDFlODU1ZQ== 17 | dependencies: [] 18 | - name: libyaml 19 | version: 1 20 | sha1: !binary |- 21 | ZTU5NDBlNDg1MjFmZDQ1YWFiNWRjM2RmOTY1ZDViOTg2MzI5MWJhYw== 22 | fingerprint: !binary |- 23 | MmM4MzUwYmM2YjYwYjdjNTBmMmI5ZDdkMTllZDAyZTE5YjcyYmYzOA== 24 | dependencies: [] 25 | - name: ruby 26 | version: 1 27 | sha1: !binary |- 28 | NTZlYjgxMGQxOTFjNjI1M2ZiNDg4MjE4N2IzYjk4NGY5YjUxMTU4OQ== 29 | fingerprint: !binary |- 30 | MmFlYjYwNGM5Y2JiMmNiN2QyN2JlZDJlOTJkOWQ4YzkxM2U0NDg4Zg== 31 | dependencies: 32 | - libyaml 33 | jobs: 34 | - name: admin_ui 35 | version: 2 36 | fingerprint: !binary |- 37 | ZTAyNmI3NzVhOGU2N2YxZjNiODI2MTA2YjYxMTQ1MzBmMmY0NzRkNw== 38 | sha1: !binary |- 39 | NDM3MThmZDNiOGI5ODY5ZTMwZDFlMGZkZWUzYzY5ZjI1ZGEyMTA3NQ== 40 | commit_hash: 872249d1 41 | uncommitted_changes: true 42 | name: admin-ui 43 | version: 2 44 | -------------------------------------------------------------------------------- /releases/admin-ui-3.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: !binary |- 5 | OWRlZmY5YTg4M2FiOWYyYTMyZGYwMDYzZWQ3N2ZhNjVkMTdjOTZlZQ== 6 | sha1: !binary |- 7 | ZWU1MjM0NGQzOTMyNDJiM2IxNDEyNDVlYTNjMDRhYTk1YmQ4MjE2ZA== 8 | fingerprint: !binary |- 9 | OWRlZmY5YTg4M2FiOWYyYTMyZGYwMDYzZWQ3N2ZhNjVkMTdjOTZlZQ== 10 | dependencies: 11 | - ruby 12 | - name: common 13 | version: !binary |- 14 | NjI0MWVkNDI2YjU5ZDA5ZTUxOTllZWU4ZWU3MWNkYTNiMzVkNmMwNA== 15 | sha1: !binary |- 16 | YjQ1MjdjNjJmZDI5ZjUwYjNiNTcwZGUzZDk4OTEyYTFmNDI0NTc2NQ== 17 | fingerprint: !binary |- 18 | NjI0MWVkNDI2YjU5ZDA5ZTUxOTllZWU4ZWU3MWNkYTNiMzVkNmMwNA== 19 | dependencies: [] 20 | - name: libyaml 21 | version: !binary |- 22 | NjgxYmI0NTVjMzVlZjE3Y2FiYmQ0MTM0NGY5MjRjYjYxYzJiYjhlNw== 23 | sha1: !binary |- 24 | YThhZTEwODhiYzc5ZDQ0NmFlMWYwNjE2MzcxZTRlMzJjZjM0NWQwZg== 25 | fingerprint: !binary |- 26 | NjgxYmI0NTVjMzVlZjE3Y2FiYmQ0MTM0NGY5MjRjYjYxYzJiYjhlNw== 27 | dependencies: [] 28 | - name: ruby 29 | version: !binary |- 30 | YzE0NmNiZDM1ZGQyZjU0OWIwZjkwYzdmNDBkNWEwZTVjYjM2OThjNA== 31 | sha1: !binary |- 32 | MmRhZTE4YWVhMWI1NTBiZWM3Y2NkNmNjMGU5ZWU4ODk4NzZlZWI4MQ== 33 | fingerprint: !binary |- 34 | YzE0NmNiZDM1ZGQyZjU0OWIwZjkwYzdmNDBkNWEwZTVjYjM2OThjNA== 35 | dependencies: 36 | - libyaml 37 | jobs: 38 | - name: admin_ui 39 | version: !binary |- 40 | N2NkZWI4Mjc5N2JiMzg0Yzc2MTA0NTY3NTA2OTc1YTBhOWY3OTg0NA== 41 | fingerprint: !binary |- 42 | N2NkZWI4Mjc5N2JiMzg0Yzc2MTA0NTY3NTA2OTc1YTBhOWY3OTg0NA== 43 | sha1: !binary |- 44 | Y2M0YmFlYjNlYjQzZjM3NWIxM2Y0NWNlYzk4Zjk0NjJkZWY2ZTBlMA== 45 | commit_hash: c28202c3 46 | uncommitted_changes: true 47 | name: admin-ui 48 | version: '3' 49 | -------------------------------------------------------------------------------- /releases/admin-ui-4.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: !binary |- 5 | ZDhkNWFkY2QyMmI3OGI5ZWMxNzYzNzQxNGU0OGIzNzJhOTEwNDIwYQ== 6 | sha1: !binary |- 7 | OGU2MGYzYTBhODMxNzg2MWZiZDMyOGI3OWU0ODI0YzE3ZTE1NWFlMA== 8 | fingerprint: !binary |- 9 | ZDhkNWFkY2QyMmI3OGI5ZWMxNzYzNzQxNGU0OGIzNzJhOTEwNDIwYQ== 10 | dependencies: 11 | - ruby 12 | - libpq 13 | - sqlite 14 | - name: common 15 | version: !binary |- 16 | NDk4N2Q2NzRjNzQ4YzgzYWEwYmMyZDQ5NjVlNzM2NTllODc5MjBjNw== 17 | sha1: !binary |- 18 | ODkwYzdjOTQ2NWUzNWI3Y2EzOWQxMjdjNTQyMzhhMjAyN2Q0ZWM0YQ== 19 | fingerprint: !binary |- 20 | NDk4N2Q2NzRjNzQ4YzgzYWEwYmMyZDQ5NjVlNzM2NTllODc5MjBjNw== 21 | dependencies: [] 22 | - name: libpq 23 | version: !binary |- 24 | ODI2YmRlYjE3YjA4N2E0OTUwYzIzMmYxODMwZjE1YjFhZDc5M2RhYQ== 25 | sha1: !binary |- 26 | YjhhNTZlZmQzNDAwYTAyNWIwYzQ5ZDlmZDUyNTJkOTk3ZWExNTI0MA== 27 | fingerprint: !binary |- 28 | ODI2YmRlYjE3YjA4N2E0OTUwYzIzMmYxODMwZjE1YjFhZDc5M2RhYQ== 29 | dependencies: [] 30 | - name: libyaml 31 | version: !binary |- 32 | NjgxYmI0NTVjMzVlZjE3Y2FiYmQ0MTM0NGY5MjRjYjYxYzJiYjhlNw== 33 | sha1: !binary |- 34 | YThhZTEwODhiYzc5ZDQ0NmFlMWYwNjE2MzcxZTRlMzJjZjM0NWQwZg== 35 | fingerprint: !binary |- 36 | NjgxYmI0NTVjMzVlZjE3Y2FiYmQ0MTM0NGY5MjRjYjYxYzJiYjhlNw== 37 | dependencies: [] 38 | - name: ruby 39 | version: !binary |- 40 | YzE0NmNiZDM1ZGQyZjU0OWIwZjkwYzdmNDBkNWEwZTVjYjM2OThjNA== 41 | sha1: !binary |- 42 | MmRhZTE4YWVhMWI1NTBiZWM3Y2NkNmNjMGU5ZWU4ODk4NzZlZWI4MQ== 43 | fingerprint: !binary |- 44 | YzE0NmNiZDM1ZGQyZjU0OWIwZjkwYzdmNDBkNWEwZTVjYjM2OThjNA== 45 | dependencies: 46 | - libyaml 47 | - name: sqlite 48 | version: !binary |- 49 | YWY0NGQ0NGU1OGZmZmQwNjk0NTljYjYzZjZmY2MzN2M2MzI2ZTM3MA== 50 | sha1: !binary |- 51 | NDNjN2MyZTg2ZDY5YmYzN2ZiODM1OGFmNjgwZDkzM2JkNzM0ZGFmZA== 52 | fingerprint: !binary |- 53 | YWY0NGQ0NGU1OGZmZmQwNjk0NTljYjYzZjZmY2MzN2M2MzI2ZTM3MA== 54 | dependencies: [] 55 | - name: uaac 56 | version: !binary |- 57 | NzNiNDUxYmMzOGMzODhmNzIwZjg1OTc3ZDQ3ZjFkN2U5OTZjMDc3Ng== 58 | sha1: !binary |- 59 | NzhjN2FjOWFlMzU0NjcwYmY1NzUxYWJjMWVlODRiMmE1OWRiYTU4Mw== 60 | fingerprint: !binary |- 61 | NzNiNDUxYmMzOGMzODhmNzIwZjg1OTc3ZDQ3ZjFkN2U5OTZjMDc3Ng== 62 | dependencies: 63 | - ruby 64 | jobs: 65 | - name: admin_ui 66 | version: !binary |- 67 | ZjhiMWE5ZjdmNzdmYTFlYTFlZDg3NTMwOTg3ZWM3NTdkZDUyZTc1NA== 68 | fingerprint: !binary |- 69 | ZjhiMWE5ZjdmNzdmYTFlYTFlZDg3NTMwOTg3ZWM3NTdkZDUyZTc1NA== 70 | sha1: !binary |- 71 | YjYxODhkZDhhNGNiNzEzMmQ1ODQwN2RiODljZmNkYzA0MDE5MzgyMw== 72 | - name: deregister_admin_ui 73 | version: !binary |- 74 | NzhmNDkzYmZiMGM1NjM2NTIxNmRmYWY0NGQzYzI0MmJjNTE2MWNlZA== 75 | fingerprint: !binary |- 76 | NzhmNDkzYmZiMGM1NjM2NTIxNmRmYWY0NGQzYzI0MmJjNTE2MWNlZA== 77 | sha1: !binary |- 78 | MzcxN2ZkZjU3YjM2NmYyZWMwN2I0ZWJlYmE4OGZhNDUyYzgyODhhZg== 79 | - name: register_admin_ui 80 | version: !binary |- 81 | NjlhYWI1OGE4OTExZjlkODgwNGFkMDA5YzdmNWQxNGViYzlhZjRmMQ== 82 | fingerprint: !binary |- 83 | NjlhYWI1OGE4OTExZjlkODgwNGFkMDA5YzdmNWQxNGViYzlhZjRmMQ== 84 | sha1: !binary |- 85 | NjdlMDk0ZWJjNjUzZmI4MzcwOGI3ZWYxYTU1NWJjN2NhOTYyYjNlNw== 86 | commit_hash: 00c4dc2b 87 | uncommitted_changes: true 88 | name: admin-ui 89 | version: '4' 90 | -------------------------------------------------------------------------------- /releases/admin-ui-5.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: f2cf62d93b6c3e2a056852414b214ff2aa7d8b17 5 | sha1: 7f2bf49276baf3674c29237a020dd16aaf1fdb2c 6 | fingerprint: f2cf62d93b6c3e2a056852414b214ff2aa7d8b17 7 | dependencies: 8 | - ruby 9 | - libpq 10 | - sqlite 11 | - mysqlclient 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 15 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 20 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 21 | dependencies: [] 22 | - name: libyaml 23 | version: 681bb455c35ef17cabbd41344f924cb61c2bb8e7 24 | sha1: a8ae1088bc79d446ae1f0616371e4e32cf345d0f 25 | fingerprint: 681bb455c35ef17cabbd41344f924cb61c2bb8e7 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: 8b5d9ce287341048377997a9b3fe4ff3e6a1c68f 29 | sha1: 2428c5f0fe3ea341be7387b6770a0683b7b450bb 30 | fingerprint: 8b5d9ce287341048377997a9b3fe4ff3e6a1c68f 31 | dependencies: [] 32 | - name: ruby 33 | version: c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4 34 | sha1: 2dae18aea1b550bec7ccd6cc0e9ee889876eeb81 35 | fingerprint: c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 41 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 42 | dependencies: [] 43 | - name: uaac 44 | version: 73b451bc38c388f720f85977d47f1d7e996c0776 45 | sha1: 78c7ac9ae354670bf5751abc1ee84b2a59dba583 46 | fingerprint: 73b451bc38c388f720f85977d47f1d7e996c0776 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: f8b1a9f7f77fa1ea1ed87530987ec757dd52e754 52 | fingerprint: f8b1a9f7f77fa1ea1ed87530987ec757dd52e754 53 | sha1: b6188dd8a4cb7132d58407db89cfcdc040193823 54 | - name: deregister_admin_ui 55 | version: 78f493bfb0c56365216dfaf44d3c242bc5161ced 56 | fingerprint: 78f493bfb0c56365216dfaf44d3c242bc5161ced 57 | sha1: 3717fdf57b366f2ec07b4ebeba88fa452c8288af 58 | - name: register_admin_ui 59 | version: 69aab58a8911f9d8804ad009c7f5d14ebc9af4f1 60 | fingerprint: 69aab58a8911f9d8804ad009c7f5d14ebc9af4f1 61 | sha1: 67e094ebc653fb83708b7ef1a555bc7ca962b3e7 62 | commit_hash: 4c302581 63 | uncommitted_changes: true 64 | name: admin-ui 65 | version: '5' 66 | -------------------------------------------------------------------------------- /releases/admin-ui-6.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: dc07544c951469dffe507dc85d6c8f6a773b60a0 5 | fingerprint: dc07544c951469dffe507dc85d6c8f6a773b60a0 6 | sha1: 759ab83e6bc06b82ee353d42fae6ad6dec26b141 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 681bb455c35ef17cabbd41344f924cb61c2bb8e7 24 | fingerprint: 681bb455c35ef17cabbd41344f924cb61c2bb8e7 25 | sha1: a8ae1088bc79d446ae1f0616371e4e32cf345d0f 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4 34 | fingerprint: c146cbd35dd2f549b0f90c7f40d5a0e5cb3698c4 35 | sha1: 2dae18aea1b550bec7ccd6cc0e9ee889876eeb81 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 73b451bc38c388f720f85977d47f1d7e996c0776 45 | fingerprint: 73b451bc38c388f720f85977d47f1d7e996c0776 46 | sha1: 78c7ac9ae354670bf5751abc1ee84b2a59dba583 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: b669acee652f10f4e507860f538c6a4f473b998e 52 | fingerprint: b669acee652f10f4e507860f538c6a4f473b998e 53 | sha1: 7b5721b2bd52ad3193e9a4d9ceebae26d6650c1a 54 | - name: deregister_admin_ui 55 | version: 934fd06544cad9582cdec54228ba7ca020951589 56 | fingerprint: 934fd06544cad9582cdec54228ba7ca020951589 57 | sha1: 923990d1547da985e9fc9b42f83039d911437b3c 58 | - name: register_admin_ui 59 | version: e966d9d653d167dca1d69dbf4245bb8a21792548 60 | fingerprint: e966d9d653d167dca1d69dbf4245bb8a21792548 61 | sha1: bb5fade5e1bc61c6af7bb00423d16ea9b8f05a3f 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: 957b96ab 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '6' 70 | -------------------------------------------------------------------------------- /releases/admin-ui-7.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 67a5687490bdf7f0e683c935532fb7e9d35a9423 5 | fingerprint: 67a5687490bdf7f0e683c935532fb7e9d35a9423 6 | sha1: cff5ecf16cf92b3a5b76b574de6c04165321b3b1 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 24 | fingerprint: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 25 | sha1: 2f5407d8c20bc4ffda8ed1cdb3c8699f44ef7fd4 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 34 | fingerprint: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 35 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 45 | fingerprint: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 46 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: 88427349e628d308df858575513c85527fff59ea 52 | fingerprint: 88427349e628d308df858575513c85527fff59ea 53 | sha1: 7c40037b25b45389801aa3ae487c36df8e75e125 54 | - name: deregister_admin_ui 55 | version: 934fd06544cad9582cdec54228ba7ca020951589 56 | fingerprint: 934fd06544cad9582cdec54228ba7ca020951589 57 | sha1: 923990d1547da985e9fc9b42f83039d911437b3c 58 | - name: register_admin_ui 59 | version: 609ba546207f824d8e04f1b1162c325bc66f604d 60 | fingerprint: 609ba546207f824d8e04f1b1162c325bc66f604d 61 | sha1: dfeb63c8880c7732fa3ec59c1b994e352c1e59ab 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: 0ec972bb 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '7' 70 | -------------------------------------------------------------------------------- /releases/admin-ui-8.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: 197e9b9c1ff32c131c0f9a09914df977fc4e4fcb 5 | fingerprint: 197e9b9c1ff32c131c0f9a09914df977fc4e4fcb 6 | sha1: a715f4408e87eb13b1b1d9cdc8c54f140ad73e49 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 24 | fingerprint: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 25 | sha1: 2f5407d8c20bc4ffda8ed1cdb3c8699f44ef7fd4 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 34 | fingerprint: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 35 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 45 | fingerprint: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 46 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: 7afbda246cf371c4265670a6081f68699fffa21e 52 | fingerprint: 7afbda246cf371c4265670a6081f68699fffa21e 53 | sha1: 3bc786a42e406130febe7c2b22fab0b68911c092 54 | - name: deregister_admin_ui 55 | version: 934fd06544cad9582cdec54228ba7ca020951589 56 | fingerprint: 934fd06544cad9582cdec54228ba7ca020951589 57 | sha1: 923990d1547da985e9fc9b42f83039d911437b3c 58 | - name: register_admin_ui 59 | version: 609ba546207f824d8e04f1b1162c325bc66f604d 60 | fingerprint: 609ba546207f824d8e04f1b1162c325bc66f604d 61 | sha1: dfeb63c8880c7732fa3ec59c1b994e352c1e59ab 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: 2e4c28dc 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '8' 70 | -------------------------------------------------------------------------------- /releases/admin-ui-9.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: 3 | - name: admin_ui 4 | version: dc398a5856bb5c80b4447432ce9392844023a960 5 | fingerprint: dc398a5856bb5c80b4447432ce9392844023a960 6 | sha1: 3e402ea1059fea7479562a3fc045e9f63f6e0b6d 7 | dependencies: 8 | - libpq 9 | - mysqlclient 10 | - ruby 11 | - sqlite 12 | - name: common 13 | version: 4987d674c748c83aa0bc2d4965e73659e87920c7 14 | fingerprint: 4987d674c748c83aa0bc2d4965e73659e87920c7 15 | sha1: 890c7c9465e35b7ca39d127c54238a2027d4ec4a 16 | dependencies: [] 17 | - name: libpq 18 | version: 826bdeb17b087a4950c232f1830f15b1ad793daa 19 | fingerprint: 826bdeb17b087a4950c232f1830f15b1ad793daa 20 | sha1: b8a56efd3400a025b0c49d9fd5252d997ea15240 21 | dependencies: [] 22 | - name: libyaml 23 | version: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 24 | fingerprint: 4d1c0070ed24485f93562dd8a214dbc0d98633e8 25 | sha1: 2f5407d8c20bc4ffda8ed1cdb3c8699f44ef7fd4 26 | dependencies: [] 27 | - name: mysqlclient 28 | version: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 29 | fingerprint: d7d399ebad3289a0ee70a78663daa6ee41cff6cd 30 | sha1: c6ec8f8418879304093add614bf395b0edaac89d 31 | dependencies: [] 32 | - name: ruby 33 | version: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 34 | fingerprint: c2d6a633218ca411eaaf4ef3af2e2b2094e109f9 35 | sha1: ff9c7abc5527d71403a13ab08c54366869cc481b 36 | dependencies: 37 | - libyaml 38 | - name: sqlite 39 | version: af44d44e58fffd069459cb63f6fcc37c6326e370 40 | fingerprint: af44d44e58fffd069459cb63f6fcc37c6326e370 41 | sha1: 43c7c2e86d69bf37fb8358af680d933bd734dafd 42 | dependencies: [] 43 | - name: uaac 44 | version: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 45 | fingerprint: 2b9b7717cfe1a7ad212605707b9dd9de88c925ef 46 | sha1: 32cf8b208fe75e4ad4b314b6315c8d3a5c3aa453 47 | dependencies: 48 | - ruby 49 | jobs: 50 | - name: admin_ui 51 | version: b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d 52 | fingerprint: b991b606f4a2f0d5c6feed0e7e2d829e34d2f30d 53 | sha1: 90ba89c85f7cdf6cf495b5a54f2101ff2a1c0b9f 54 | - name: deregister_admin_ui 55 | version: 934fd06544cad9582cdec54228ba7ca020951589 56 | fingerprint: 934fd06544cad9582cdec54228ba7ca020951589 57 | sha1: 923990d1547da985e9fc9b42f83039d911437b3c 58 | - name: register_admin_ui 59 | version: 609ba546207f824d8e04f1b1162c325bc66f604d 60 | fingerprint: 609ba546207f824d8e04f1b1162c325bc66f604d 61 | sha1: dfeb63c8880c7732fa3ec59c1b994e352c1e59ab 62 | license: 63 | version: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 64 | fingerprint: 4f42f5d7dbf8faf6a66fd8a2a6aaef85f0d65003 65 | sha1: c9f08cb4d42df2038187718f1efc36cc48462602 66 | commit_hash: a554f79d 67 | uncommitted_changes: true 68 | name: admin-ui 69 | version: '9' 70 | -------------------------------------------------------------------------------- /releases/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 51cb7db57f62a3cd9dbc28fd4bb047b19429ba80: 4 | version: 1 5 | c5bdb42ebda4101738129a0cf049bbdd114fd81b: 6 | version: 2 7 | 6037d0a3ae51017322fd4ce06f45b872e67800d0: 8 | version: '3' 9 | 2ef09b92-bbb0-4376-8649-1c56d2d87259: 10 | version: '4' 11 | 5f526be2-e900-43b8-85cd-436af943aa58: 12 | version: '5' 13 | 9a924d3a-6bdd-42f0-96ea-58398f306bf0: 14 | version: '6' 15 | 8e400963-cae2-4617-a171-691cdc66716d: 16 | version: '7' 17 | e2bc8c76-5014-40e0-9d99-b01fb475fd62: 18 | version: '8' 19 | faa476f2-cd03-43b8-bf5b-1d65f229a446: 20 | version: '9' 21 | 9b6ea6d8-3814-40b5-b7c0-9eac1d6c5433: 22 | version: '10' 23 | a7bad342-c025-4235-a89a-937cb09599ed: 24 | version: '11' 25 | format-version: '2' 26 | -------------------------------------------------------------------------------- /src/common/utils.sh: -------------------------------------------------------------------------------- 1 | 2 | SCRIPT=$(basename $0) 3 | mkdir -p /var/vcap/sys/log/monit 4 | 5 | exec 1>> /var/vcap/sys/log/monit/$SCRIPT.log 6 | exec 2>> /var/vcap/sys/log/monit/$SCRIPT.err.log 7 | 8 | pid_guard() { 9 | pidfile=$1 10 | name=$2 11 | 12 | if [ -f "$pidfile" ]; then 13 | pid=$(head -1 "$pidfile") 14 | 15 | if [ -n "$pid" ] && [ -e /proc/$pid ]; then 16 | echo "$name is already running, please stop it first" 17 | exit 1 18 | fi 19 | 20 | echo "Removing stale pidfile..." 21 | rm $pidfile 22 | fi 23 | } 24 | 25 | wait_pidfile() { 26 | pidfile=$1 27 | try_kill=$2 28 | timeout=${3:-0} 29 | force=${4:-0} 30 | countdown=$(( $timeout * 10 )) 31 | 32 | if [ -f "$pidfile" ]; then 33 | pid=$(head -1 "$pidfile") 34 | 35 | if [ -z "$pid" ]; then 36 | echo "Unable to get pid from $pidfile" 37 | exit 1 38 | fi 39 | 40 | if [ -e /proc/$pid ]; then 41 | if [ "$try_kill" = "1" ]; then 42 | echo "Killing $pidfile: $pid " 43 | kill $pid 44 | fi 45 | while [ -e /proc/$pid ]; do 46 | sleep 0.1 47 | [ "$countdown" != '0' -a $(( $countdown % 10 )) = '0' ] && echo -n . 48 | if [ $timeout -gt 0 ]; then 49 | if [ $countdown -eq 0 ]; then 50 | if [ "$force" = "1" ]; then 51 | echo -ne "\nKill timed out, using kill -9 on $pid... " 52 | kill -9 $pid 53 | sleep 0.5 54 | fi 55 | break 56 | else 57 | countdown=$(( $countdown - 1 )) 58 | fi 59 | fi 60 | done 61 | if [ -e /proc/$pid ]; then 62 | echo "Timed Out" 63 | else 64 | echo "Stopped" 65 | fi 66 | else 67 | echo "Process $pid is not running" 68 | fi 69 | 70 | rm -f $pidfile 71 | else 72 | echo "Pidfile $pidfile doesn't exist" 73 | fi 74 | } 75 | 76 | kill_and_wait() { 77 | pidfile=$1 78 | # Monit default timeout for start/stop is 30s 79 | # Append 'with timeout {n} seconds' to monit start/stop program configs 80 | timeout=${2:-25} 81 | force=${3:-1} 82 | 83 | wait_pidfile $pidfile 1 $timeout $force 84 | } 85 | 86 | check_mount() { 87 | opts=$1 88 | exports=$2 89 | mount_point=$3 90 | 91 | if grep -qs $mount_point /proc/mounts; then 92 | echo "Found NFS mount $mount_point" 93 | else 94 | echo "Mounting NFS..." 95 | mount $opts $exports $mount_point 96 | if [ $? != 0 ]; then 97 | echo "Cannot mount NFS from $exports to $mount_point, exiting..." 98 | exit 1 99 | fi 100 | fi 101 | } 102 | 103 | # Check the syntax of a sudoers file. 104 | check_sudoers() { 105 | /usr/sbin/visudo -c -f "$1" 106 | } 107 | 108 | # Check the syntax of a sudoers file and if it's ok install it. 109 | install_sudoers() { 110 | src="$1" 111 | dest="$2" 112 | 113 | check_sudoers "$src" 114 | 115 | if [ $? -eq 0 ]; then 116 | chown root:root "$src" 117 | chmod 0440 "$src" 118 | cp -p "$src" "$dest" 119 | else 120 | echo "Syntax error in sudoers file $src" 121 | exit 1 122 | fi 123 | } 124 | 125 | # Add a line to a file if it is not already there. 126 | file_must_include() { 127 | file="$1" 128 | line="$2" 129 | 130 | # Protect against empty $file so it doesn't wait for input on stdin. 131 | if [ -n "$file" ]; then 132 | grep --quiet "$line" "$file" || echo "$line" >> "$file" 133 | else 134 | echo 'File name is required' 135 | exit 1 136 | fi 137 | } 138 | -------------------------------------------------------------------------------- /src/uaac/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "cf-uaac", "= 3.1.5" # Do not use 3.1.6 because of https://github.com/cloudfoundry/cf-uaac/issues/19 4 | -------------------------------------------------------------------------------- /src/uaac/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.4.0) 5 | cf-uaa-lib (3.2.5) 6 | multi_json 7 | cf-uaac (3.1.5) 8 | cf-uaa-lib (~> 3.2.5) 9 | em-http-request (~> 1.1.2) 10 | eventmachine (~> 1.0.3) 11 | highline (~> 1.6.21) 12 | json_pure (~> 1.8.1) 13 | launchy (~> 2.4.2) 14 | rack (~> 1.5.2) 15 | cookiejar (0.3.0) 16 | em-http-request (1.1.3) 17 | addressable (>= 2.3.4) 18 | cookiejar (<= 0.3.0) 19 | em-socksify (>= 0.3) 20 | eventmachine (>= 1.0.3) 21 | http_parser.rb (>= 0.6.0) 22 | em-socksify (0.3.1) 23 | eventmachine (>= 1.0.0.beta.4) 24 | eventmachine (1.0.9.1) 25 | highline (1.6.21) 26 | http_parser.rb (0.6.0) 27 | json_pure (1.8.3) 28 | launchy (2.4.3) 29 | addressable (~> 2.3) 30 | multi_json (1.11.2) 31 | rack (1.5.5) 32 | 33 | PLATFORMS 34 | ruby 35 | 36 | DEPENDENCIES 37 | cf-uaac (= 3.1.5) 38 | -------------------------------------------------------------------------------- /templates/admin-ui-deployment.yml: -------------------------------------------------------------------------------- 1 | --- 2 | meta: 3 | network: cf1 4 | subdomain: (( merge || "admin" ) 5 | admin_ui_uaa_client: 6 | id: (( merge || "admin-ui" )) 7 | secret: (( merge )) 8 | 9 | name: admin-ui 10 | director_uuid: (( merge )) 11 | release: 12 | name: admin-ui 13 | version: latest 14 | compilation: (( merge )) 15 | update: (( merge )) 16 | networks: (( merge )) 17 | 18 | resource_pools: 19 | - name: small_z1 20 | network: (( meta.network )) 21 | size: (( auto )) 22 | stemcell: (( merge )) 23 | cloud_properties: (( merge )) 24 | 25 | jobs: 26 | - name: admin_ui 27 | template: admin_ui 28 | instances: 1 29 | resource_pool: small_z1 30 | persistent_disk: 5120 31 | networks: 32 | - name: (( meta.network )) 33 | static_ips: (( static_ips(15) )) 34 | 35 | - name: register_admin_ui 36 | template: register_admin_ui 37 | instances: 1 38 | resource_pool: small_z1 39 | lifecycle: errand 40 | networks: 41 | - name: (( meta.network )) 42 | 43 | - name: deregister_admin_ui 44 | template: deregister_admin_ui 45 | instances: 1 46 | resource_pool: small_z1 47 | lifecycle: errand 48 | networks: 49 | - name: (( meta.network )) 50 | 51 | properties: 52 | cc: 53 | srv_api_uri: (( merge )) 54 | system_domain: (( merge )) 55 | uaa: 56 | url: (( merge )) 57 | admin: 58 | client_secret: (( merge )) 59 | admin_ui: 60 | event_days: 1 61 | max_memory: "512 Mb" 62 | cloud_controller_uri: (( properties.cc.srv_api_uri )) 63 | cloud_controller_ssl_verify_none: (( properties.ssl.skip_cert_verify )) 64 | uri: (( meta.subdomain "." properties.system_domain )) 65 | users: ~ 66 | admins: (( merge )) 67 | uaa: 68 | url: (( properties.uaa.url )) 69 | admin_client_secret: (( properties.uaa.admin.client_secret )) 70 | client: 71 | id: (( meta.admin_ui_uaa_client.id )) 72 | secret: (( meta.admin_ui_uaa_client.secret )) 73 | scopes: 74 | admin: ~ 75 | user: ~ 76 | 77 | ccdb: 78 | scheme: (( databases.db_scheme )) 79 | address: (( databases.address )) 80 | port: (( databases.port )) 81 | username: ccadmin 82 | password: (( databases.roles.ccadmin.password )) 83 | database: ccdb 84 | uaadb: 85 | scheme: (( databases.db_scheme )) 86 | address: (( databases.address )) 87 | port: (( databases.port )) 88 | username: uaaadmin 89 | password: (( databases.roles.uaaadmin.password )) 90 | database: uaadb 91 | 92 | ssl: 93 | skip_cert_verify: (( merge || false )) 94 | networks: 95 | apps: (( meta.network )) 96 | nats: 97 | user: (( merge )) 98 | password: (( merge )) 99 | port: (( merge )) 100 | machines: (( merge )) 101 | address: (( machines.[0] )) 102 | databases: 103 | db_scheme: (( merge )) 104 | address: (( merge )) 105 | port: (( merge )) 106 | roles: (( merge )) 107 | 108 | 109 | -------------------------------------------------------------------------------- /templates/warden-stub.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: admin-ui 3 | 4 | meta: 5 | network: cf2 6 | subdomain: admin 7 | admin_ui_uaa_client: 8 | secret: c1oudc0w 9 | 10 | properties: 11 | admin_ui: 12 | admins: [ admin ] 13 | 14 | resource_pools: 15 | - name: small_z1 16 | network: cf2 17 | size: 3 18 | 19 | compilation: 20 | network: cf2 21 | --------------------------------------------------------------------------------