Showing preview only (454K chars total). Download the full file or copy to clipboard to get everything.
Repository: pivotal-cf/pcfdev
Branch: master
Commit: c5fe36ce3be6
Files: 70
Total size: 430.7 KB
Directory structure:
gitextract_imyhzfky/
├── .envrc
├── .gitignore
├── .gitmodules
├── CONTRIBUTING.md
├── DEVELOP.md
├── FAQ.md
├── Gemfile
├── LICENSE
├── README.md
├── assets/
│ ├── keys/
│ │ └── key.pem
│ └── scripts/
│ ├── common
│ ├── health-check
│ ├── reset
│ ├── run
│ ├── start
│ └── stop
├── manifest.yml
├── pcfdev-base.json
├── pcfdev.json
├── preseed/
│ └── preseed.cfg
├── src/
│ ├── api/
│ │ ├── main.go
│ │ ├── main_suite_test.go
│ │ ├── main_test.go
│ │ └── usecases/
│ │ ├── uaa_credential_replacement.go
│ │ ├── uaa_credential_replacement_test.go
│ │ └── usecase_suite_test.go
│ └── provisioner/
│ ├── .envrc
│ ├── Dockerfile
│ ├── assets/
│ │ ├── stub_server.go
│ │ ├── tomcat-web-hsts-disabled.xml
│ │ ├── tomcat-web-invalid.xml
│ │ └── tomcat-web.xml
│ ├── bin/
│ │ ├── generate-mocks
│ │ └── tests
│ ├── cert/
│ │ ├── cert.go
│ │ ├── cert_suite_test.go
│ │ └── cert_test.go
│ ├── fs/
│ │ ├── fs.go
│ │ ├── fs_suite_test.go
│ │ └── fs_test.go
│ ├── main.go
│ ├── main_suite_test.go
│ ├── main_test.go
│ └── provisioner/
│ ├── commands/
│ │ ├── close_all_ports.go
│ │ ├── commands_suite_test.go
│ │ ├── configure_dnsmasq.go
│ │ ├── configure_dnsmasq_test.go
│ │ ├── configure_garden_dns.go
│ │ ├── configure_garden_dns_test.go
│ │ ├── disable_uaa_hsts.go
│ │ ├── disable_uaa_hsts_test.go
│ │ ├── open_port.go
│ │ ├── replace_domain.go
│ │ ├── replace_domain_test.go
│ │ ├── setup_api.go
│ │ ├── setup_api_test.go
│ │ ├── setup_cfdot.go
│ │ └── setup_cfdot_test.go
│ ├── concrete_cmd_runner.go
│ ├── concrete_cmd_runner_test.go
│ ├── errors.go
│ ├── mocks/
│ │ ├── cert.go
│ │ ├── cmd_runner.go
│ │ ├── command.go
│ │ ├── fs.go
│ │ └── ui.go
│ ├── provisioner.go
│ ├── provisioner_suite_test.go
│ └── provisioner_test.go
└── versions.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .envrc
================================================
export GOPATH=$PWD
export PATH=$GOPATH/bin:$PATH
================================================
FILE: .gitignore
================================================
.DS_Store
*.box
/bosh/bin
/bosh/pkg
/output
/pkg
/releases
/src/provisioner/provision
/src/api/api
/pcfdev-base
/bin
!/bin/build
!/bin/compile-release
!/bin/fetch-assets
!/bin/setup-packer
NERD_tree_*
/*.iml
================================================
FILE: .gitmodules
================================================
[submodule "src/github.com/onsi/ginkgo"]
path = src/github.com/onsi/ginkgo
url = https://github.com/onsi/ginkgo
[submodule "src/github.com/onsi/gomega"]
path = src/github.com/onsi/gomega
url = https://github.com/onsi/gomega
[submodule "src/gopkg.in/yaml.v2"]
path = src/gopkg.in/yaml.v2
url = https://gopkg.in/yaml.v2
[submodule "src/github.com/cppforlife/bosh-provisioner"]
path = src/github.com/cppforlife/bosh-provisioner
url = https://github.com/pcfdev-forks/bosh-provisioner
[submodule "src/github.com/cppforlife/packer-bosh"]
path = src/github.com/cppforlife/packer-bosh
url = https://github.com/cppforlife/packer-bosh
[submodule "src/provisioner/vendor/github.com/golang/mock"]
path = src/provisioner/vendor/github.com/golang/mock
url = https://github.com/pcfdev-forks/mock
[submodule "src/provisioner/vendor/golang.org/x/net"]
path = src/provisioner/vendor/golang.org/x/net
url = https://github.com/golang/net
[submodule "src/provisioner/vendor/golang.org/x/text"]
path = src/provisioner/vendor/golang.org/x/text
url = https://github.com/golang/text
[submodule "src/api/vendor/gopkg.in/yaml.v2"]
path = src/api/vendor/gopkg.in/yaml.v2
url = https://github.com/go-yaml/yaml
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Everyone is encouraged to help improve this project.
Please submit pull requests against the **master branch**.
Limited access to our [Concourse](http://concourse.ci) CI system is available at [ci.pcfdev.io](https://ci.pcfdev.io).
Here are some ways *you* can contribute:
* by using nightly builds and prerelease versions
* by reporting bugs
* by suggesting new features
* by writing or editing documentation
* by writing specifications
* by writing code (**no patch is too small**: fix typos, add comments, clean up inconsistent whitespace)
* by refactoring code
* by closing [issues](https://github.com/pivotal-cf/pcfdev/issues)
* by reviewing patches
## Submitting an Issue
We use the [GitHub issue tracker](https://github.com/pivotal-cf/pcfdev/issues) to track bugs and features.
Before submitting a bug report or feature request, check to make sure it hasn't already been submitted.
You can indicate support for an existing issue by voting it up.
When submitting a bug report, please include a [Gist](http://gist.github.com/) that includes a stack trace and any
details that may be necessary to reproduce the bug including the PCF Dev version.
## Submitting a Pull Request
1. Propose a change by opening an issue.
2. Fork the project.
3. Create a topic branch.
4. Implement your feature or bug fix.
5. Commit and push your changes.
6. Submit a pull request.
## Copyright
See [LICENSE](LICENSE) for details.
Copyright (c) 2015 [Pivotal Software, Inc](http://www.pivotal.io/).
================================================
FILE: DEVELOP.md
================================================
# PCF Dev Development
To develop PCF Dev you will need to have the following tools installed:
- [Packer](https://www.packer.io) v0.9.0+
- [Virtualbox](https://www.virtualbox.org/) 5.0+
- [Go](https://golang.org) 1.6.1+
- [jq](https://stedolan.github.io/jq/) 1.5+
- [spiff](https://github.com/cloudfoundry-incubator/spiff) 1.0.6+
## Clone the PCF Dev source
```bash
git clone --recursive https://github.com/pivotal-cf/pcfdev.git
```
### Building a PCF Dev Box
To build an OSS-only PCF Dev OVA, run:
```bash
./bin/build -only=virtualbox-iso # pass -debug for more output
```
> Note: Support for VMware Fusion/Workstation has been discontinued. Support for AWS is temporarily suspended until a commercial version of PCF Dev becomes available from the AWS Marketplace.
### Deploying a locally-built PCF Dev box
After the PCF Dev box has been built, you need to use the PCF Dev CLI to launch the OVA. This will disable various checks for system requirements such as system memory. More information on installation of the CLI can be found [here](http://docs.pivotal.io/pcf-dev/index.html#installing).
```bash
cf dev start -o output/output-virtualbox-iso/oss-v0.ova
```
### Customizing PCF Dev
Our build tool has the ability to build compiled releases or releases from source. By default, it will try to build releases that have been compiled by the PCF Dev team. If you have a *non-compiled* release that present on your workstation, you can configure the build to use it using the **path:** key. Simply edit the versions.json file at the root of this repo like `"cf" :` is done below:
```json
{
"releases": {
"cf" : {
"path": "/Users/pivotal/[path-to-release-folder]"
},
"diego" : {
"version": "v0.1480.0",
"sha1": "bfd87d6ef08458e19e2abc6fc6888ba9ac29fde6",
"source_location": "https://github.com/cloudfoundry/diego-release",
"compiled_release_url" : "https://s3.amazonaws.com/pcfdev/compiled-releases/diego-8d1450da393eae98d565b9e0e7154c742e75e513.tgz"
},
```
If you would like to a different *compiled* release than is offered in the versions.json, simply make sure that the appropriate keys are modified.
> Note: any necessary manifest changes can be done to the manifest.yml file at the root of this repo for a successful build.
## Contributing
If you are interested in contributing to PCF Dev, please refer to [CONTRIBUTING](CONTRIBUTING.md).
## Copyright
See [LICENSE](LICENSE) for details.
Copyright (c) 2015 [Pivotal Software, Inc](http://www.pivotal.io/).
================================================
FILE: FAQ.md
================================================
# Frequently Asked Questions
## General Questions
### What is PCF Dev?
PCF Dev is a new distribution of Cloud Foundry designed to run on a developer’s laptop or workstation. PCF Dev gives application developers the full Cloud Foundry experience in a lightweight, easy to install package.
### Who should use PCF Dev?
PCF Dev is intended for application developers who wish to develop and debug their application locally on a full-featured Cloud Foundry. PCF Dev is also an excellent getting started environment for developers interested in learning and exploring Cloud Foundry.
### If my application runs on PCF Dev, will it run on PCF?
Yes. PCF Dev is designed to mirror PCF exactly. If your application runs on PCF Dev, it will run on PCF with no modification in almost all cases.
## Troubleshooting
### Why does `cf api` and/or `cf login` fail with an "Invalid SSL Cert" error?
PCF Dev comes with a self-signed SSL certificate for its API and requires the `--skip-ssl-validation` option. This also applies to the Spring Boot Dashboard, which requires the checkbox "Self-signed" in order to connect.
```
○ → cf api api.local.cfdev.sh
Setting api endpoint to api.local.cfdev.sh...
FAILED
Invalid SSL Cert for api.local.cfdev.sh
TIP: Use 'cf api --skip-ssl-validation' to continue with an insecure API endpoint
```
## Networking
### Container-to-router
This is traffic from the app container to the gorouter. It is enabled by default. This allows apps to communicate with each other by using the routes published by gorouter.
### Container-to-guest
This is traffic from the app container to the virtual machine in which PCF Dev is running. It is enabled by default. This may be useful if you want to run other services inside of the guest virtual machine for your applications to use, but doing so is not encouraged. Instead, extra services should be run on the host (see below). The IP address of the guest is `192.168.11.11` or `local.cfdev.sh` (unless this address is already in use).
### Container-to-host
This is traffic from the app container to the host on which the virtual machine is running. It is enabled by default. This can be used to run services on your host that are available to your apps in PCF Dev. The IP address of the host accessible to the app is `192.168.11.1` or `host.cfdev.sh` (unless this address is already in use). For example, in order to connect your app to a MongoDB instance running on the host on port `27017`, run the following commands:
```bash
cf create-user-provided-service my-mongo-db -p '{ "uri": "mongodb://<username>:<password>@host.cfdev.sh:27017/<database>" }'
cf bind-service <app> my-mongo-db
cf restage <app>
```
### Container-to-external
This is traffic from the app container to a destination external to the host. It allows your application to reach the internet. Traffic to public and private IP addresses is enabled by default in PCF Dev. You may remove the `all_pcfdev` security group to restrict access to only public IP addresses, as a default PCF installation would be configured.
### Container-to-container
This is traffic directly between two containers in the same PCF Dev deployment. It is useful for running applications that must communicate with each other but do not need or want a publicly-accessible route. It is not enabled and will not be available until it is supported in Pivotal Cloud Foundry.
# Copyright
See [LICENSE](LICENSE) for details.
Copyright (c) 2015 [Pivotal Software, Inc](http://www.pivotal.io/).
================================================
FILE: Gemfile
================================================
source 'https://rubygems.org'
gem 'bosh_cli', '>=1.3094.0'
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pivotal Software Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# Update on PCF Dev
This is the deprecated version of PCF Dev - please visit the current Github repository https://github.com/cloudfoundry-incubator/cfdev for the latest updates
*************************************************************
# PCF Dev
PCF Dev is a new distribution of Cloud Foundry designed to run on a developer’s laptop or workstation. PCF Dev gives application developers the full Cloud Foundry experience in a lightweight, easy to install package. PCF Dev is intended for application developers who wish to develop and debug their application locally on a full-featured Cloud Foundry. PCF Dev is also an excellent getting started environment for developers interested in learning and exploring Cloud Foundry.
> More information about the project can be found on the [FAQ](FAQ.md#general-questions).
## Open Source
This repository contains source code that allows developers to build an open source version of PCF Dev that only contains the Elastic Runtime and the CF MySQL Broker. The binary distribution of PCF Dev that is available on the [Pivotal Network](https://network.pivotal.io/) contains other PCF components (such as the Redis, RabbitMQ and Spring Cloud Services marketplace services as well as Apps Manager) that are not available in this repository.
However, we encourage you to leave any feedback or issues you may encounter regarding the full, binary distribution of PCF Dev in [this repository's Github issues](https://github.com/pivotal-cf/pcfdev/issues).
## Install
1. Download the latest `pcfdev-VERSION-PLATFORM.zip` from the [Pivotal Network](https://network.pivotal.io/).
1. Unzip the zip file and navigate to its containing folder using PowerShell or a Unix terminal.
1. Run the extracted binary.
1. Run `cf dev start`.
> Check out the [documentation](https://docs.pivotal.io/pcf-dev/) for more information. Running `cf dev help` will display an overview of PCF Dev VM management commands.
### Prerequisites
* [CF CLI](https://github.com/cloudfoundry/cli)
* [VirtualBox](https://www.virtualbox.org/): 5.0+
* Internet connection (or [Dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) or [Acrylic](http://mayakron.altervista.org/wikibase/show.php?id=AcrylicHome)) required for wildcard DNS resolution
### Using the Cloud Foundry CLI Plugin
Follow the instructions provided at the end of `cf dev start` to connect to PCF Dev:
```
Downloading VM...
Progress: |====================>| 100%
VM downloaded
Importing VM...
Starting VM...
Provisioning VM...
Waiting for services to start...
40 out of 40 running
_______ _______ _______ ______ _______ __ __
| || || | | | | || | | |
| _ || || ___| | _ || ___|| |_| |
| |_| || || |___ | | | || |___ | |
| ___|| _|| ___| | |_| || ___|| |
| | | |_ | | | || |___ | |
|___| |_______||___| |______| |_______| |___|
is now running.
To begin using PCF Dev, please run:
cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass
```
> The `local.pcfdev.io` domain may differ slightly for your PCF Dev instance.
To stage a simple app on PCF Dev, `cd` into the app directory and run `cf push <APP_NAME>`.
See cf documentation for information on [deploying apps](http://docs.cloudfoundry.org/devguide/deploy-apps/) and [attaching services](http://docs.cloudfoundry.org/devguide/services/).
### Using a customized PCF Dev OVA
Specify the path to the custom built OVA with the `-o flag` to the `cf dev start` command.
```
$ cf dev start -o /path/to/custom/ova
Importing VM...
Starting VM...
Provisioning VM..
...
```
To build a custom PCF Dev OVA, please see our [DEVELOP](./DEVELOP.md) Documentation.
## Uninstall
To temporarily stop PCF Dev run `cf dev stop`.
To destroy your PCF Dev VM run `cf dev destroy`.
To uninstall the PCF Dev cf CLI plugin run `cf uninstall-plugin pcfdev`
## Contributing
If you are interested in contributing to PCF Dev, please refer to the [contributing guidelines](CONTRIBUTING.md) and [development instructions](DEVELOP.md).
# Copyright
See [LICENSE](LICENSE) for details.
Copyright (c) 2016 [Pivotal Software, Inc](http://www.pivotal.io/).
PCF Dev uses a version of Monit that can be found [here](https://github.com/pivotal-cf/pcfdev-monit), under the GPLv3 license.
================================================
FILE: assets/keys/key.pem
================================================
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+eYPNeh/gldZCxXCXBmlAUWgJdRTTNClCAx8yV26/hdLjbZGg1StjwOVkUupxpG+5ghm7mxnz6xQUJH+AdzZVXrHaixMl4jwf8RrsTu7OJj/zDjoKNUX9vH6SZzTifUfCigixHJQwOoA+hCJCIbrzh0z2Vvvtn+G/adEFhNwdSl+RaGfuNSh04bTOS7CrPrmPGE2sE192+PMoh+sE5E6RKivWcR0tLR58OA/MN1SEH3LNrKrmxYi4qebp1HxXJTac4nuegqoDdSEUnjdCjZPRdeZiKy/L3B3BAT0+P646IJzwQHv3kUHwVnfBwI3COcEZPwctUOBl/JjyagjJyx5P pcfdev insecure key
================================================
FILE: assets/scripts/common
================================================
monit="/var/vcap/bosh/bin/monit"
monit_summary() { while output=$($monit summary 2>&1) && [[ $output = *"error connecting to the monit daemon"* ]]; do sleep 1; done; echo "$output"; }
total_services() { monit_summary | grep -E '^(Process|File|System)' | wc -l; }
started_service_count() { started_services | wc -l; }
started_services() { monit_summary | grep -E '(running|accessible|Timestamp changed|PID changed)' | awk '{print $2}' | tr -d "'"; }
stopped_service_count() { stopped_services | wc -l; }
stopped_services() { monit_summary | grep 'not monitored' | grep -v 'pending' | awk '{print $2}' | tr -d "'"; }
cc_status_code() { curl -s -I -o /dev/null -w %{http_code} -H "Host: api.$1" http://localhost/v2/info; }
available_buildpacks() { cf curl /v2/buildpacks | jq '.resources | map(select(.entity.filename | length > 0)) | length'; }
wait_for_monit_to_start() { while [[ $(total_services) = 0 ]]; do sleep 1; done; }
wait_for_monit_to_stop() { while [[ $(total_services) != 0 ]]; do sleep 1; done; }
wait_for_services_to_stop() { while [[ $(stopped_service_count) -lt $(total_services) ]]; do sleep 1; done; }
start_services() {
for service in $@; do
$monit start $service
done
for service in $@; do
while ! monit_summary | grep $service | grep -q running; do sleep 1; done;
done
}
start_remaining() {
for service in $(stopped_services); do
$monit start $service
done
}
move_monit_control_files() {
find /var/vcap/monit/job -name '*.monitrc' | grep -v pcfdev | xargs rm -f
for file in $(ls /var/vcap/jobs/*/monit)
do
local dirname=$(dirname $file)
local jobname=$(basename $dirname)
local destination_path="/var/vcap/monit/job/$(next_monit_index)-${jobname}.monitrc"
cp $file $destination_path
sed -i '/group vcap/a\ \ mode manual' $destination_path
done
}
exists_in_monit() {
grep $1 /var/vcap/monit/job/* -q
}
find_monit_file() {
grep $1 /var/vcap/jobs/*/monit -l
}
next_monit_index(){
printf %04d $(ls /var/vcap/monit/job/ | wc -l)
}
restart_service() {
local service=$1
$monit restart $service
while ! monit_summary | grep $service | grep -v pending | grep -q running; do sleep 1; done;
}
update_service_broker() {
local broker_name=$1
local broker_url=$2
echo "Service broker already exists - updating broker"
cf update-service-broker ${broker_name} admin admin ${broker_url}
}
create_service_broker() {
local broker_name=$1
local broker_url=$2
echo "Service broker does not exist - creating broker"
cf create-service-broker ${broker_name} admin admin ${broker_url}
}
setup_service_broker() {
local broker_name=$1
local broker_url=$2
while [[ $(curl -s -o /dev/null -u admin:admin -w %{http_code} ${broker_url}/v2/catalog) != 200 ]]; do
sleep 1
done
create_service_broker $broker_name $broker_url || update_service_broker $broker_name $broker_url
cf enable-service-access ${broker_name}
}
================================================
FILE: assets/scripts/health-check
================================================
#!/bin/bash
set -e
source /var/pcfdev/common
domain=$(cat /var/pcfdev/domain)
status_code=$(cc_status_code ${domain})
service_count=$(total_services)
if [[ ${status_code} == "200" && -f "/run/pcfdev-healthcheck" ]]
then
echo -n 'ok'
exit 0
fi
exit 1
================================================
FILE: assets/scripts/reset
================================================
#!/bin/bash
set -e
exec 3>&1 4>&2 >>/var/pcfdev/reset.log 2>&1
set -x
source /var/pcfdev/common
if status runsvdir | grep -q 'start/running'; then
wait_for_monit_to_start
$monit stop all
>&3 echo "Waiting for services to stop..."
wait_for_services_to_stop
stop runsvdir
wait_for_monit_to_stop
fi
>&3 echo "Services stopped. Resetting data..."
rm -rf /var/vcap/nfs /var/vcap/data/{compile,tmp}
>&3 echo "Deleting stale state files not needed for mysql migrations"
find /var/vcap/store/* -maxdepth 0 ! -name "*.sql" | xargs rm -rf
set +x
exec 1>&3 2>&4
================================================
FILE: assets/scripts/run
================================================
#!/bin/bash
set -e
if [[ -z $1 ]] || [[ -z $2 ]]; then
>&2 echo "Usage:"
>&2 echo -e "\t$0 <domain> <public-ip> <service1,service2> <docker-registry1,docker-registry2>"
exit 1
fi
exec 3>&1 4>&2 >>/var/pcfdev/provision.log 2>&1
set -x
rm -f /run/pcfdev-healthcheck
source /var/pcfdev/common
domain=$1
public_ip=$2
services=$3
registries=$4
if [[ -x /var/pcfdev/pre-run ]]; then
/var/pcfdev/pre-run "$domain" "$services"
fi
>&3 /var/pcfdev/stop
rm -f /var/vcap/bosh/agent_state.json
# Add self-signed cert to existing trusted certs
if [[ ! -f /var/pcfdev/trusted_ca.crt ]]; then
cp /var/vcap/jobs/cflinuxfs2-rootfs-setup/config/certs/trusted_ca.crt /var/pcfdev/trusted_ca.crt
fi
cat /var/pcfdev/trusted_ca.crt /var/vcap/jobs/gorouter/config/cert.pem > /var/vcap/jobs/cflinuxfs2-rootfs-setup/config/certs/trusted_ca.crt
/var/vcap/jobs/cflinuxfs2-rootfs-setup/bin/pre-start
# Replace the old system domain / IP with the new system domain / IP
config_files=$(find /var/vcap/jobs/*/ /var/vcap/monit/job -type f)
old_domain=$(cat /var/pcfdev/domain)
perl -p -i -e "s/\\Q$old_domain\\E/$domain/g" $config_files
echo "$domain" > /var/pcfdev/domain
sed -i '/\/proc\/sys\/net\/ipv4\/ip_local_port_range/d' /var/vcap/jobs/gorouter/bin/gorouter_ctl
# Point garden at HTTP_PROXY and HTTPS_PROXY
pcfdev_http_proxy=$(. /etc/environment && echo "$HTTP_PROXY")
pcfdev_https_proxy=$(. /etc/environment && echo "$HTTPS_PROXY")
if [[ ! -z $pcfdev_http_proxy || ! -z $pcfdev_https_proxy ]]; then
perl -p -i -e "s/^export.*(http|https|no)_proxy=.*\n//i" /var/vcap/jobs/garden/bin/garden_ctl
result=$(grep -i '\(http\|https\|no\)_proxy=' /etc/environment | xargs -I {} echo 'export {}\n' | tr -d '\n')
if [[ -n "$result" ]]; then
sed -i "/set -x/a$result" /var/vcap/jobs/garden/bin/garden_ctl
fi
fi
# Fix CC temporary directory
mkdir -p /tmp/cc_tmp
chgrp vcap /tmp/cc_tmp
chmod 1777 /tmp/cc_tmp
cc_worker_ctl=/var/vcap/jobs/cloud_controller_ng/bin/cloud_controller_worker_ctl
grep -q 'export TMPDIR=\/tmp\/cc_tmp' "$cc_worker_ctl" || sed -i '2iexport TMPDIR=/tmp/cc_tmp' "$cc_worker_ctl"
# Add registries to insecure_docker_registries
if [[ -n "$registries" ]]; then
perl -p -i -e "s/.*-insecureDockerRegistry=.*\n//i" /var/vcap/jobs/garden/bin/garden_ctl
insecureDockerRegistryOptions=""
for registry in $(echo "$registries" | tr ',' '\n'); do
insecureDockerRegistryOptions="${insecureDockerRegistryOptions}--insecure-docker-registry=$registry "
done
if [[ -n "$insecureDockerRegistryOptions" ]]; then
sed -i "\|/var/vcap/packages/guardian/bin/guardian|a$insecureDockerRegistryOptions \\\\" /var/vcap/jobs/garden/bin/garden_ctl
fi
stager_config=$(jq \
--arg registries "$registries" \
'.insecure_docker_registries=($registries | split(","))' \
/var/vcap/jobs/stager/config/stager_config.json
)
echo "$stager_config" > /var/vcap/jobs/stager/config/stager_config.json
fi
>&3 2>&4 /var/pcfdev/start "$domain"
cf api "https://api.$domain" --skip-ssl-validation
cf auth admin admin
cf create-org pcfdev-org
cf create-space pcfdev-space -o pcfdev-org
cf target -o pcfdev-org -s pcfdev-space
cf create-user user pass
cf set-org-role user pcfdev-org OrgManager
cf set-space-role user pcfdev-org pcfdev-space SpaceManager
cf set-space-role user pcfdev-org pcfdev-space SpaceDeveloper
cf set-space-role user pcfdev-org pcfdev-space SpaceAuditor
[[ $domain != $old_domain ]] && cf delete-shared-domain "$old_domain" -f
if [[ $(cf curl /v2/shared_domains | jq -r ".resources[] | select(.entity.name == \"tcp.$domain\").entity.name") == "" ]]
then
cf create-shared-domain tcp.$domain --router-group default-tcp
quota_definition_url=$(cf curl /v2/quota_definitions?q=name:default | jq -r .resources[0].metadata.url)
cf curl $quota_definition_url -X PUT -d '{"total_routes": 100}'
cf curl $quota_definition_url -X PUT -d '{"total_reserved_route_ports": -1}'
fi
cf enable-feature-flag diego_docker
if [[ ! -z $pcfdev_http_proxy ]] || [[ ! -z $pcfdev_https_proxy ]]; then
proxy_environment_variables=$(
echo -n "{"
grep -i '\(http\|https\|no\)_proxy=' /etc/environment | sed -e 's/\(.*\)=\(.*\)/"\1": "\2"/' | paste -sd "," -
echo -n "}"
)
cf set-staging-environment-variable-group "$proxy_environment_variables"
cf set-running-environment-variable-group "$proxy_environment_variables"
fi
while [[ $(available_buildpacks) -lt 8 ]]; do
sleep 1
done
setup_service_broker p-mysql http://mysql-broker.$domain
setup_service_broker local-volume http://localbroker.$domain
if [[ -x /var/pcfdev/post-run ]]; then
/var/pcfdev/post-run "$domain" "$services"
fi
set +x
exec 1>&3 2>&4
================================================
FILE: assets/scripts/start
================================================
#!/bin/bash
set -e
if [[ -z $1 ]]; then
>&2 echo "Usage:"
>&2 echo -e "\t$0 <domain>"
exit 1
fi
exec 3>&1 4>&2 >>/var/pcfdev/provision.log 2>&1
set -x
source /var/pcfdev/common
domain=$1
>&3 echo "Waiting for services to start..."
move_monit_control_files
start runsvdir
wait_for_monit_to_start
/var/vcap/jobs/mysql/bin/pre-start
start_services mariadb_ctrl galera-healthcheck
while ! nc -z 127.0.0.1 3306; do
sleep 1
done
/var/vcap/jobs/consul_agent/bin/pre-start
start_services consul_agent
for script in $(ls /var/vcap/jobs/*/bin/pre-start | grep -v '/mysql/' | grep -v '/consul_agent/'); do
$script
done
start_services garden etcd uaa
while [[ ! /var/vcap/jobs/uaa/bin/dns_health_check ]]; do
sleep 1
done
start_services bbs
start_remaining
total=$(total_services)
while started=$(started_service_count) && [[ $started -lt $total ]]; do
counter=$(($counter + 1))
[[ $(($counter % 60)) = 0 ]] && >&3 echo "$started out of $total running"
sleep 1
done
>&3 echo "$total out of $total running"
while [[ $(cc_status_code "$domain") != 200 ]]; do
sleep 1
done
for script in /var/vcap/jobs/*/bin/post-start
do
$script
done
exec 1>&3 2>&4
================================================
FILE: assets/scripts/stop
================================================
#!/bin/bash
set -e
exec 3>&1 4>&2 >>/var/pcfdev/provision.log 2>&1
set -x
source /var/pcfdev/common
if status runsvdir | grep -q 'start/running'; then
>&3 echo "Waiting for services to stop..."
wait_for_monit_to_start
$monit stop all
wait_for_services_to_stop
stop runsvdir
wait_for_monit_to_stop
fi
================================================
FILE: manifest.yml
================================================
---
name: pcfdev
releases:
- name: capi
version: 0
url: file:///opt/bosh-provisioner/assets/releases/capi-0.tgz
- name: loggregator
version: 0
url: file:///opt/bosh-provisioner/assets/releases/loggregator-0.tgz
- name: nats
version: 0
url: file:///opt/bosh-provisioner/assets/releases/nats-0.tgz
- name: uaa
version: 0
url: file:///opt/bosh-provisioner/assets/releases/uaa-0.tgz
- name: consul
version: 0
url: file:///opt/bosh-provisioner/assets/releases/consul-0.tgz
- name: nodejs-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/nodejs-buildpack-0.tgz
- name: java-offline-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/java-offline-buildpack-0.tgz
- name: php-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/php-buildpack-0.tgz
- name: ruby-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/ruby-buildpack-0.tgz
- name: binary-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/binary-buildpack-0.tgz
- name: go-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/go-buildpack-0.tgz
- name: python-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/python-buildpack-0.tgz
- name: staticfile-buildpack
version: 0
url: file:///opt/bosh-provisioner/assets/releases/staticfile-buildpack-0.tgz
- name: cf
version: 0
url: file:///opt/bosh-provisioner/assets/releases/cf-0.tgz
- name: etcd
version: 0
url: file:///opt/bosh-provisioner/assets/releases/etcd-0.tgz
- name: cf-networking
version: 0
url: file:///opt/bosh-provisioner/assets/releases/cf-networking-0.tgz
- name: garden-runc
version: 0
url: file:///opt/bosh-provisioner/assets/releases/garden-runc-0.tgz
- name: diego
version: 0
url: file:///opt/bosh-provisioner/assets/releases/diego-0.tgz
- name: cf-mysql
version: 0
url: file:///opt/bosh-provisioner/assets/releases/cf-mysql-0.tgz
- name: cflinuxfs2
version: 0
url: file:///opt/bosh-provisioner/assets/releases/cflinuxfs2-rootfs-0.tgz
- name: routing
version: 0
url: file:///opt/bosh-provisioner/assets/releases/routing-0.tgz
- name: local-volume
version: 0
url: file:///opt/bosh-provisioner/assets/releases/local-volume-0.tgz
networks:
- name: default
type: local
update:
update_watch_time: 60000 - 1200000
compilation:
network: default
jobs:
- name: pcfdev
instances: 1
persistent_disk: 1024
networks:
- name: default
templates:
- name: mysql
release: cf-mysql
- name: cf-mysql-broker
release: cf-mysql
- name: garden
release: garden-runc
- name: etcd
release: etcd
- name: gorouter
release: routing
- name: route_registrar
release: routing
- name: routing-api
release: routing
- name: tcp_emitter
release: routing
- name: tcp_router
release: routing
- name: auctioneer
release: diego
- name: file_server
release: diego
- name: rep
release: diego
- name: route_emitter
release: diego
- name: ssh_proxy
release: diego
- name: bbs
release: diego
- name: cfdot
release: diego
- name: cflinuxfs2-rootfs-setup
release: cflinuxfs2
- name: stager
release: capi
- name: nsync
release: capi
- name: tps
release: capi
- name: cc_uploader
release: capi
- name: cloud_controller_clock
release: capi
- name: cloud_controller_ng
release: capi
- name: cloud_controller_worker
release: capi
- name: blobstore
release: capi
- name: nats
release: nats
- name: uaa
release: uaa
- name: consul_agent
release: consul
- name: nodejs-buildpack
release: nodejs-buildpack
- name: java-offline-buildpack
release: java-offline-buildpack
- name: php-buildpack
release: php-buildpack
- name: binary-buildpack
release: binary-buildpack
- name: go-buildpack
release: go-buildpack
- name: python-buildpack
release: python-buildpack
- name: ruby-buildpack
release: ruby-buildpack
- name: staticfile-buildpack
release: staticfile-buildpack
- name: syslog_drain_binder
release: loggregator
- name: metron_agent
release: loggregator
- name: doppler
release: loggregator
- name: loggregator_trafficcontroller
release: loggregator
- name: localdriver
release: local-volume
- name: localbroker
release: local-volume
- name: netmon
release: cf-networking
- name: vxlan-policy-agent
release: cf-networking
- name: policy-server
release: cf-networking
- name: garden-cni
release: cf-networking
- name: silk-cni
release: cf-networking
- name: silk-daemon
release: cf-networking
- name: silk-controller
release: cf-networking
properties:
<<: (( merge ))
support_address: pcfdev@pivotal.io
domain: local.pcfdev.io
system_domain: local.pcfdev.io
app_domains: [local.pcfdev.io]
system_domain_organization: pcfdev-org
name: pcfdev
ssl:
skip_cert_verify: true
skip_ssl_validation: true
capi:
cc_uploader:
listen_addr: 127.0.0.1:9090
debug_addr: 127.0.0.1:17018
cc:
job_polling_interval_in_seconds: 5
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE/DCCAuSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDExN0ZXN0
LWNjLXVwbG9hZGVyLWNhMB4XDTE3MDMzMDIzNTAxOFoXDTI3MDMzMDIzNTAyNlow
HjEcMBoGA1UEAxMTdGVzdC1jYy11cGxvYWRlci1jYTCCAiIwDQYJKoZIhvcNAQEB
BQADggIPADCCAgoCggIBAN3Pa74Y46cXWmhQtXpp0sIpHtd80QI/zuTkU0TB8Jzg
O+ehnRMpeetCr+0YsKeIM0l1WQHt0zBmUi1emc4OcABnXE/Qp3SQuO3u3emi+g+k
svG3Kb5gSOswHPlR3EjvCeB38SS3A0bxnvJMbKPlXvhhtkzWRoZDSlxjHWzeSJ8u
XPjuMSPP+Tr+97rtelbufyEta61sr1ahwoBJHFnre2s7KdiG34AOBzbBb8GoAtQ7
IpHHyQQzVTT/YNjdgmHz57uIptbWwBXch0hxBiMleb87Zxpx6EEt4GzSyOt8Qkcp
Ja0z68SEaL0P92G92Os1jvfiBFVos+q0IPnvIhCvAgh2LojjBHRVSSGlBHSLEd/D
dzaXuYBJrpxoHl0eRZGGa39BJY/gsvOgJ27xFB8kN3PCYSRekF4tuxkWFOmPGLKc
TC6jYHG1SIReZgouX16i4lwlejNf+f1La0ZCEr13neaaSZmpd87DNMaQkw+vovUO
oUeLCFPknOOFFQiKrI1SmLPjo+0hJPZa0CKz7Jp7ynLBSA5JZDYzf6asxTYvaD2E
fjQV+Ucz/blDCbsZrH4HxN42jACYg0sWUQOdyLaTrOpo67k8iPxeizg1pRrIP4U1
emnMjAbW2hZOZdIR2Rel1XfwW99rBD7ejun53l+gNUIkyi7XMz4OE3/fHO1+X4gx
AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdDgQWBBRXlmY9gLcIn9KN+RojBbl5j5KVVzANBgkqhkiG9w0BAQsFAAOCAgEA
JwOX8/GXfnNt/9YjSlORbwKWYKrigNatGzvOqrbROnueyQkWCOsKXrqX+ol4DOpO
2I+JYdparoqvyAhNKaNsKfW8E4VOta4bIvh0oFQPJXrQAhdHocyTCIX18qbp6zIN
AEJLdDvjeBCEo2t/Ip1Ly5bhFCfGeP7LU36tD3T15/8eEARwQ7v3tczBKM3NQ5ON
lnHOheXKdAQcJou8kJ1x+n/Cy2MR/86qJV6R2OixXvWiHK3c8P9goREPPELPc5p9
ylYsCMgRBiBA1YKRVExH8YCNMF+Rz4U6zWaJ9HfVEHNI3fm2w5FwzwErmdVutszp
dpTUr2jjihxFnduP9vA7Y79EEgFZ7NT/KLlUBXyfiYSu4nwRzV8h+RKZYD+XIFeB
FgQPSMbrNG2hOviTPq1ACkoH2vEV4WGYrjvGT/kTl1W5pzVbjE+Ja5aLRm1X7QbU
f+X38/n4N5yEMd/q7WvCzlq0BMhy28iMjzSdPKw4c/R5LwltCq6VNzjjwm4WdC3l
l9CE4RhwFrZQl1YViX0rB8GKOMihyhGLS5jctIYLUS+vDjZzh/m4SS9QArnSph+I
tNahrxZZaiLE0RFViIV6Oi3ek1qmxTjYunNU/fVxuLvlHYNzHqvPLTDu6IS3zu4o
IuYvX8gxa8VkMJUQvtlOTG4HSj4LmU75f/SOsogld4o=
-----END CERTIFICATE-----
client_cert: |
-----BEGIN CERTIFICATE-----
MIIELzCCAhegAwIBAgIRANl6/eH1wRl29GgiXTULy/YwDQYJKoZIhvcNAQELBQAw
HjEcMBoGA1UEAxMTdGVzdC1jYy11cGxvYWRlci1jYTAeFw0xNzAzMzAyMzUyNTRa
Fw0xOTAzMzAyMzUyNTRaMBUxEzARBgNVBAMTCmNsaWVudE5hbWUwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEToHAV8xJ2gCXVuwZWJVq/zz/VcGCy/GS
Cin7b3cEA22bWYYUCvJy4mVWETFg68gCVcAWwNelA6ByoGsNJqg/nMiVzx6vg6NA
6hhZX+8QjXL8QB4vtEtOPUCw1WowmjC2760lBdl5vQr8fj57epCxGE52ZL0+tY98
I1yaW/t2tEIeithCxb52o7OvrmsDyi+PINbfEUem6DkOkPVdqnHRGqIr1uisF5Qe
SVjWbT2dLZw+G87N7CysksyiCczFX32HjrlBMEZyXZsLAy0i/AZOdUO40yE5BzT0
AiFTTS9gNU3XE2xiILvZzVeLqa+yuqbwws4YQIi7OBoqa7j+LAxlAgMBAAGjcTBv
MA4GA1UdDwEB/wQEAwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
HQYDVR0OBBYEFOK4eo4nD4maNMLLiFEr73PwaWvuMB8GA1UdIwQYMBaAFFeWZj2A
twif0o35GiMFuXmPkpVXMA0GCSqGSIb3DQEBCwUAA4ICAQCt+5rcsZjgBUHvNP1Z
89eqXonqDLa59aupdM3SKtnVdvPAClinhLeTQOBeMJIVxa3F4j6JAymHl+REtStq
0Oxl7rKk8wEeVFljA2ntfdp/hy8xASO93o0W3jafKEsqRa3VHzV6e4YOZeejPGri
JIL/4Fm2nR+9yzS4+/y2EwCsflW12CaVFBYVRzUrsILM+SN2r+ST3v0jtJnRotcD
Dv3FcPxMbODcLhwKTvmxDpLK/rkKkf/OKa2/7kPPooXV8gcgiRKA3za8zX2Ch9nl
9rG7JNZ3bsJVY5SCybgqf1QUXfe9ILeUL5Gu+2JP0Ms4JuT89r8iShvQm5t32wuV
3mZsfKI8iyPXcZoWmZZrxUjY76lo/CCSAA/IF36tSkJHm3D7xJPNSXVkv8LIHFEu
pXU5uzkJWOeAWqsKMzHrycmLBGmWqKlleDOnUUU7bEZUHYu1HAXB++dZc4JDC99s
nt8FpJv54xJrkesNiPyoOKpONFtIpD0HTWAF/3hKhZntOMoHN8/axFiTmCtFbtph
K9oWDM0Fqqv7xTkcMVmJYiBxwtlctXbUjD6R3HpX5SgP0HryZ2hfbz8qp0Mw+J2+
oaxH9Cvtduw/gKQgHpK10FMosJmzmxvl1lcSRxEIHOV4wmUXR8gSw46L3+fYR29u
bTpi2XcempkmVbezvOGXVY2BqA==
-----END CERTIFICATE-----
client_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxE6BwFfMSdoAl1bsGViVav88/1XBgsvxkgop+293BANtm1mG
FArycuJlVhExYOvIAlXAFsDXpQOgcqBrDSaoP5zIlc8er4OjQOoYWV/vEI1y/EAe
L7RLTj1AsNVqMJowtu+tJQXZeb0K/H4+e3qQsRhOdmS9PrWPfCNcmlv7drRCHorY
QsW+dqOzr65rA8ovjyDW3xFHpug5DpD1Xapx0RqiK9borBeUHklY1m09nS2cPhvO
zewsrJLMognMxV99h465QTBGcl2bCwMtIvwGTnVDuNMhOQc09AIhU00vYDVN1xNs
YiC72c1Xi6mvsrqm8MLOGECIuzgaKmu4/iwMZQIDAQABAoIBAQCCKcgRAGZdxaZE
swcD21/fvXP1nigckRwRiJnDtWoGCDviGR81JPkTwhgNVIMYT96j5bXjoGScbuYx
ezrgUnSXEV9TLi2blT5naZFRmbHLmO7YYa9iVDrmmujNGAU8StDoS83T0agc94NU
XmURvPg55PMJv8xXy01js5LQaxM25i/vyBggNOVmQBdDshp77OXsewUBzZLFQR1p
G3WUGn51U0/G8gSPLk+diTQrlvtzl0/3gyeBOmGEVU0OjZvgMEEbxLihLpVirCGY
Q52SuTovJm4Na6FvTEPGwBQDQd++ukVLaU1OzBxKEm8Rh0JQ7toEJ2MFIQkXqG+I
cgbMbA2BAoGBAOJtrfZ9JDHndCRTMGPQHPP0qHOnmCSKfwAYzTV69hxkA++c4/PC
TVrrcp1sRxVKYz8UeI/5CyPcUoQGFfcI6VioQ8Y6faqbTSZBPwCY2mNXMqSLLb5M
4pZ0l1e5BS+WKjkxYFdpcgylDFVA1gESwocny58VJV0QiLcwWFsYZadFAoGBAN3x
v26+2CUKBPC8xm3odMpkElsYBdaJ7yFe25A9kbJBCrhdlRiMMq4+sV9ENwwVb37Z
aspZdcgYUBBQb47wAJ6kZ+Pkcf3C5VTWjgSAVejJGved/f7/RHphBQfyXc1kjOjj
wN/wTXxbxEueo2w3+8hpzy6DpRTFBvghNpIkvxKhAoGBAL3FbOrMYVyN/tI/Aqx1
DP8Ny2z7RtFBXkWng73R65lJ3d6iII75BzovYSU9TaozaVDCCHWqJcMNcf8C1r/v
sRrEE+F8vjwR4ywvvOz0LvzZZTFxEIqRB8tPtlQoVodWlNbQYk2Aq7ybS+Xb7ECE
B5OdL9SJtYH1TJA0LalTnkb9AoGAUol4m4K1dvDG7ZAGaxErfajBesbwRNx+5XYV
SQrch+HQTsfejoZ0wn/mDnubzQ6brBzGrgGe347LF4YSNqHiWRzi1ck66xfzmR1B
K0Ner3c6ZCOJNa9QlAJIkK/9Wkiubl1keOMwrbKiyUxxkekv5VQUDERAu/yZnuUb
GjY4KIECgYBM8kSpb3MNFEpTJOg6IlfIQYavO42DJ4OIwOIC7dXKGxTjTSg0EXpH
DAVYQ59ALtjLzrDB4e6d/7MdQG1MBDfVahREg+BwxMgsaj+creWuUj0WzFDyj6jx
n/wyed0oRrl5j8HeVqqvPwHMHlJyJEACIRQWgYTRYuCoXYhFX1GeFw==
-----END RSA PRIVATE KEY-----
mutual_tls:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE/DCCAuSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDExN0ZXN0
LWNjLXVwbG9hZGVyLWNhMB4XDTE3MDMzMDIzNTAxOFoXDTI3MDMzMDIzNTAyNlow
HjEcMBoGA1UEAxMTdGVzdC1jYy11cGxvYWRlci1jYTCCAiIwDQYJKoZIhvcNAQEB
BQADggIPADCCAgoCggIBAN3Pa74Y46cXWmhQtXpp0sIpHtd80QI/zuTkU0TB8Jzg
O+ehnRMpeetCr+0YsKeIM0l1WQHt0zBmUi1emc4OcABnXE/Qp3SQuO3u3emi+g+k
svG3Kb5gSOswHPlR3EjvCeB38SS3A0bxnvJMbKPlXvhhtkzWRoZDSlxjHWzeSJ8u
XPjuMSPP+Tr+97rtelbufyEta61sr1ahwoBJHFnre2s7KdiG34AOBzbBb8GoAtQ7
IpHHyQQzVTT/YNjdgmHz57uIptbWwBXch0hxBiMleb87Zxpx6EEt4GzSyOt8Qkcp
Ja0z68SEaL0P92G92Os1jvfiBFVos+q0IPnvIhCvAgh2LojjBHRVSSGlBHSLEd/D
dzaXuYBJrpxoHl0eRZGGa39BJY/gsvOgJ27xFB8kN3PCYSRekF4tuxkWFOmPGLKc
TC6jYHG1SIReZgouX16i4lwlejNf+f1La0ZCEr13neaaSZmpd87DNMaQkw+vovUO
oUeLCFPknOOFFQiKrI1SmLPjo+0hJPZa0CKz7Jp7ynLBSA5JZDYzf6asxTYvaD2E
fjQV+Ucz/blDCbsZrH4HxN42jACYg0sWUQOdyLaTrOpo67k8iPxeizg1pRrIP4U1
emnMjAbW2hZOZdIR2Rel1XfwW99rBD7ejun53l+gNUIkyi7XMz4OE3/fHO1+X4gx
AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdDgQWBBRXlmY9gLcIn9KN+RojBbl5j5KVVzANBgkqhkiG9w0BAQsFAAOCAgEA
JwOX8/GXfnNt/9YjSlORbwKWYKrigNatGzvOqrbROnueyQkWCOsKXrqX+ol4DOpO
2I+JYdparoqvyAhNKaNsKfW8E4VOta4bIvh0oFQPJXrQAhdHocyTCIX18qbp6zIN
AEJLdDvjeBCEo2t/Ip1Ly5bhFCfGeP7LU36tD3T15/8eEARwQ7v3tczBKM3NQ5ON
lnHOheXKdAQcJou8kJ1x+n/Cy2MR/86qJV6R2OixXvWiHK3c8P9goREPPELPc5p9
ylYsCMgRBiBA1YKRVExH8YCNMF+Rz4U6zWaJ9HfVEHNI3fm2w5FwzwErmdVutszp
dpTUr2jjihxFnduP9vA7Y79EEgFZ7NT/KLlUBXyfiYSu4nwRzV8h+RKZYD+XIFeB
FgQPSMbrNG2hOviTPq1ACkoH2vEV4WGYrjvGT/kTl1W5pzVbjE+Ja5aLRm1X7QbU
f+X38/n4N5yEMd/q7WvCzlq0BMhy28iMjzSdPKw4c/R5LwltCq6VNzjjwm4WdC3l
l9CE4RhwFrZQl1YViX0rB8GKOMihyhGLS5jctIYLUS+vDjZzh/m4SS9QArnSph+I
tNahrxZZaiLE0RFViIV6Oi3ek1qmxTjYunNU/fVxuLvlHYNzHqvPLTDu6IS3zu4o
IuYvX8gxa8VkMJUQvtlOTG4HSj4LmU75f/SOsogld4o=
-----END CERTIFICATE-----
server_cert: |
-----BEGIN CERTIFICATE-----
MIIEUzCCAjugAwIBAgIRAKECdnHbq0ZQU/jHt3QE0+wwDQYJKoZIhvcNAQELBQAw
HjEcMBoGA1UEAxMTdGVzdC1jYy11cGxvYWRlci1jYTAeFw0xNzAzMzAyMzUxNDla
Fw0xOTAzMzAyMzUxNDlaMBQxEjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKsIzoC42QbEl0r9EZOfwc7MbZ6dls2DSi0S
U0bZdybQ0yBrcqkLjddLdxPA8/1n41chU2QkHMXzc23WE2vyg+VO3sEn/tvnxATV
pjLABbH12s8JHN0QBi07Oj66TTAf3aQQbrXi4A1Uoyq63AL9VErTqLHvSgC4xsi2
c6da9/KDh8i6ryXEnznHaA8nJncD45rHIozdQ3Np8r/7G24wgTNCKR1qmjnGtfyV
mxHA1Rc5TJoLvTU7675xYBzICDzo1dpHbA5QrkEECiTpm5b4a52El6XJ4EF4nWMT
l8urht8P51xsFa3fPkpOB/MUUSc5Au/NhV8N1f67FsSr18ysu1UCAwEAAaOBlTCB
kjAOBgNVHQ8BAf8EBAMCA7gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MB0GA1UdDgQWBBSsq7/T5TdI0pFhfjeJnBzgLn1aMjAfBgNVHSMEGDAWgBRXlmY9
gLcIn9KN+RojBbl5j5KVVzAhBgNVHREEGjAYggsqLmxvY2FsaG9zdIIJbG9jYWxo
b3N0MA0GCSqGSIb3DQEBCwUAA4ICAQApA4T/Xa0cieRs3mp+uYG78XWikyTdhB38
1uWz0CVSe0xc5QL/3LHeXyB+++GtTkI/itkPG5XeWSWXftj/wqgM+PSz4GWsNRuU
HL8PrtsoHnSLp8xtz/ioDL6tTeShkN4dYmS8YHapPuoEjU6Jzb8jWbHDJbH+TOmB
/hLBxivVm6oJqwKfft0BC4qn6i/Il7rC6YzDGAhX6i4d3AUAE4czxTu2lSbusoa8
Y5+673wtaPzCwIitX8oCCVEXCSimxrQErNAPSajwwEYmz1e65/Y655sakFfMVgkh
rdkNCpYMbdjZURVRLoD5nW9g1WfX1p53vGWoEArrfbDL+WWY0RoaISGyL/5+mjrR
tlMHrSSBpAEyT3b/nkx1C8S9Xdyj0TqgZHRI/7aK9gyxr3k77rXcGUxfMbFUxnze
6CvMLSwHfQNvdjCe4eBCu0GrGj4EQvfXcswkuLbzSHakd44iDlHInHzSVFfIMIVB
88nrI4rIHTib01HjNSNMBkISp23wm5D0fnVg5PQUvY35ZCg7mWFtpnBbuXeOUjox
tlO3va8l/IMZv4gKcdj9S6m088eCI4BW8RNwazkg4l0elrvkHLYxEBlBqaPYYTy7
jBVeW1y9jn4njkiE8u2UlLiXKT2Vt3xrRLJukt8z7gdGPsFQ07ebjcRyNeZyLq1J
pMYRyV+HdQ==
-----END CERTIFICATE-----
server_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAqwjOgLjZBsSXSv0Rk5/Bzsxtnp2WzYNKLRJTRtl3JtDTIGty
qQuN10t3E8Dz/WfjVyFTZCQcxfNzbdYTa/KD5U7ewSf+2+fEBNWmMsAFsfXazwkc
3RAGLTs6PrpNMB/dpBButeLgDVSjKrrcAv1UStOose9KALjGyLZzp1r38oOHyLqv
JcSfOcdoDycmdwPjmscijN1Dc2nyv/sbbjCBM0IpHWqaOca1/JWbEcDVFzlMmgu9
NTvrvnFgHMgIPOjV2kdsDlCuQQQKJOmblvhrnYSXpcngQXidYxOXy6uG3w/nXGwV
rd8+Sk4H8xRRJzkC782FXw3V/rsWxKvXzKy7VQIDAQABAoIBAEMbV3rmDDE9nWcM
2IKlojNzvmcHyg2kv8vjbs1Tsg6GzO/heMGfCO46a+RSRulcg7TCHKgkCy4YEWg9
IK2wH9QvF/ONr8+0phKHiYhME2/52Pp2xt5t1R6WKIpIKtUBC8O9ttKiy+ovFT5E
xuJdZ19coMn/63dRCJ3kCIjXhoWeNbSM0feZxKvnoJrD1ZW+0bjNu7QRK+H9uqEb
NgyT45Hti3mqOZMD2V5C499aA+IgpGsDP53QHBze4BYd1aLtEcYqxrRqNUkEsgpJ
1X8h3LSe+RSRIfD6SUlEIIFDCtCS5fF0fKXZjEHurm6HksQEK9/VfIbsoO5HnLSv
et6anIECgYEA2CWVMoXuMjHm+m1xX+eFtYl6OZs4pZf6c9UrJiYqToTHUz/pywEj
dvWL4ckyJWVe/q/vZvpLP2ub67ZVtVktzFDJUUDqTbaW6hvN8eLkiR8017DU4+7W
WMt3hWr2n3PogXbjxHMxLJFoVvFzNzlBB6UA5BC5zzshAJh5fW2sxwUCgYEAypHb
sLVN/aFPd/tOgxC2okYcV1WW1qcSlVQ+kvD+DYJJFTshFVYsA2lv7WOUAp+/hKd4
hSF57DWTAER1brK4x8H0pek0+uas+GHfwHjtcASyQREHozLVTE1n7SE2w9Iod9VM
67fH6b7XZDdZm1FG7l6jK84bjy/+aPYEH5J0tBECgYEAxVFp5nmFfaU4qx0GBvsg
gR1Dyxr8l48qQFw1y9nDfXKRVFpgX8ZmTc7TKAe4E5N7KR4LewK7duYRrRkDHU6Q
FJkbb2XHf7JUCtvfIhZzcwpd/xma/4mle+Ii9lUzV1VEyAt02n4eQgVsLxK0j5Fg
4E2thoYOWjQsaJLJNcvNktECgYB43g73oTan31hLfueZzJ8stCi085zM92NfNqUf
iCwOY263/FABKymX35GpU4E9D5R20nZW+WKGTnEn97EaHAmlJ1WSqVOzYXBTxBJ+
Bamm7SZvLHoiJnKe1JDuLKNAtGTxG5SKEV53Wieq5FvTEOwBzvYNbS2Egl6KwkAz
lm+MAQKBgDVoO5nlJ8GkJ7OK6JGmaX35oPwGZ13IFNUQ1gGtYEG9MoEqI+w3tn80
4ugdcsVR5yiLAHREWGFIQ6R2A+KfPMiqwSWg351D/2QW9WTO/LAzzCaT6ABbtI2b
mKM0JQdkqmYAEGtO+oFkrSDKlZ9M5ggwHO1DkKTLne2YFy0sYBDQ
-----END RSA PRIVATE KEY-----
nsync:
listen_addr: 127.0.0.1:8787
listener_debug_addr: 127.0.0.1:17006
bulker_debug_addr: 127.0.0.1:17007
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
cc:
base_url: http://cloud-controller-ng.service.cf.internal:9022
basic_auth_password: internal-api-password
diego_privileged_containers: true
stager:
listen_addr: 127.0.0.1:8890
debug_addr: 127.0.0.1:17011
staging_task_callback_url: http://stager.service.cf.internal:8890
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
cc:
basic_auth_password: internal-api-password
diego_privileged_containers: true
tps:
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
cc:
basic_auth_password: internal-api-password
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
client_cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
client_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw49CUImeJ2TxcsPRPKwZRFInfkEEJoo8ZQtURaSU7mfM/rwn
bWdj/WhQR2cDV3lwmHbtTYPqBno8Q3tGxlOanKAU5BBrFtzwgrHzppyQjocKrdbC
IMD3Ygkwy950+sZZQ2gbqH+oDCJEKjdN1XrXN/LSaoF3FrVfRqWBRA5kJQeTpH4N
FsJOFdDJlbsw3J+c1vW5vDTd4el5JPEy9ibST/4Rti2F5jWH8wmSWJ0QTBPDnKDD
wpzGjBwIWN0mNqpWA+E1kI1O4DoZSshAn2EH8oekeaaJ6B7el6rlFBmD8R+gNS1F
tV3lXXPu37Y74iAFMQoFjnLOvhJHEr210cSf4wIDAQABAoIBAQCTF1gb18cbfnOV
jO/+oLvIhbqq3iBPFL7kiabzUx2qTG0GVWOaiJ/O5P0tF7CNxQwJwbowCb6m7J4T
a9AKMKwkjsvn1umVos1MoKjRcwXQDobbxqLxm/L2zE7lqQd38GUHrHDRRmOR7Nw0
nLBwmBr1PDFEZui6LeXh727RT7nHlx6yo6cIYUrQBWaFSZJmfPD2pCMLRvEEY/0v
yuv6NwuRVdO/P7R+pLDXDDbOktOiFvy9QUz4KtY2ZgZHobHZ9LJlyqFiC7wFQkMs
la9vBniARgE1vX9D1QJJZ01ilivjiRDHaEq7EnZ9kRoO/ln3Yqlhr5OjAeQMFlMR
AkX9h2VxAoGBAPnfruRdP5JTdXmun4IA0Nn3a3ZG7dNkUIl/yfhTKCD8ITGq5MXV
aNSkOTVurkhrA38RuM6RQPypbjGRYdQrRMeKv6IrTC+sb7BhgcYe32370K8Y3TTX
hgB24larb8jPot6f7nvkTbJJpwmHE8cXm7Gkmr6n340GPJzfmJke+H3fAoGBAMha
rS+fCIyI3YwxmcyrA7nEKmAg2tTLiJ7xIY8i/ADwedqAnV8oAfScMw7IAF1EBkAt
z2xfQhm1/pIqr1GcLxOgqvbixXfmM2qsLS/Zb/T6aOJ5xejsI3d21CIg5LwxF/EO
1hm5ereMdDTFw914HcO2Wap0Kyqg8MSd1GxgIhZ9AoGAOOqKm9nhsSLxj1YHX0Vw
TTXedIKTiaM/9RH2n2nRqjHEHdwfYDDMQCNoJJOhfz1g/oC659KOSv8M6p2C+yEf
+ZPRMs9J+1H73uFW/hnqKtNBJaE0QeUV0OVDiRpjzAn/v1YOrInEaOf99F2gU6k8
/anQ1bzHXwgcpl8IE1jKoWECgYAFVORm8AR6OOosYOWG3MYsm1vFUxp/ryrjj+ck
t/mczMlxVxrY/WeP6tgw/IGF+dlwu8dZSu+nX4B2w0wHD/DwxMXH7CD1H9sea5aI
P3ELQ96mqDbsC9ylwTPD9LwhheztLUflR1pMqCAvh1O/AQNJwgCA2LaNW9sMYGbW
u3gswQKBgGsjcgS8l6cAYXOncwN6ROyosL6xkvc8zzUSH/KdPcXbAJZm/hQYeAyS
QFAzUdyCXnokknYbLcsNmVqO+FAXQ+S2lwaBxS0uHWc7oc0KYaNPdFHSW0PCGj9u
rvaEn/skAHkQTbLPPoPmuOs5qwWgYkMB6AHcSeCmBQokX7Zn7nfR
-----END RSA PRIVATE KEY-----
watcher:
debug_addr: 127.0.0.1:17020
listener:
listen_addr: 127.0.0.1:1518
debug_addr: 127.0.0.1:17021
traffic_controller_url: wss://doppler.local.pcfdev.io:443
cf:
api_url: http://api.local.pcfdev.io
skip_ssl_validation: true
nats:
machines: (( properties.nats.machines ))
host: (( properties.nats.machines.[0] ))
port: (( properties.nats.port ))
username: (( properties.nats.user ))
password: (( properties.nats.password ))
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
require_ssl: false
routing:
host_ip: 127.0.0.1
routing_api:
sqldb:
type: mysql
host: 127.0.0.1
port: 3306
schema: routingapidb
username: routingapiadmin
password: admin
listen_ip: 127.0.0.1
debug_address: 127.0.0.1:17103
enabled: true
system_domain: local.pcfdev.io
etcd:
servers: [etcd.service.cf.internal]
router_groups:
- name: default-tcp
reservable_ports: 61001-61100
type: tcp
tcp_emitter:
debug_address: 127.0.0.1:17105
oauth_secret: tcp-emitter-secret
bbs:
client_cert: ""
client_key: ""
tcp_router:
health_check_ip: 127.0.0.1
health_check_port: 8088
debug_address: 127.0.0.1:17104
oauth_secret: tcp-router-secret
# For Diego:
diego:
file_server:
listen_addr: 127.0.0.1:8080
ssl:
skip_cert_verify: true
auctioneer:
listen_addr: 127.0.0.1:9016
debug_addr: 127.0.0.1:17001
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
bbs:
listen_addr: 127.0.0.1:8889
debug_addr: 127.0.0.1:17017
active_key_label: key1
encryption_keys:
- label: key1
passphrase: bbs-secret
require_ssl: false
ca_cert: ""
server_cert: ""
server_key: ""
health_addr: "127.0.0.1:8891"
auctioneer:
api_url: http://auctioneer.service.cf.internal:9016
etcd:
machines: [etcd.service.cf.internal]
require_ssl: false
ca_cert: ""
client_cert: ""
client_key: ""
sql:
db_username: bbsadmin
db_password: admin
db_host: 127.0.0.1
db_port: 3306
db_schema: bbsdb
cfdot:
bbs:
ca_cert: ""
client_cert: ""
client_key: ""
converger:
debug_addr: 127.0.0.1:17002
bbs:
api_location: bbs.service.cf.internal:8889
require_ssl: false
ca_cert: ""
client_cert: ""
client_key: ""
file_server:
listen_addr: 127.0.0.1:8080
debug_addr: 127.0.0.1:17005
route_emitter:
debug_addr: 127.0.0.1:17009
healthcheck_address: 127.0.0.1:17012
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
nats:
machines: [local.pcfdev.io]
user: nats
password: nats
ssh_proxy:
debug_addr: 127.0.0.1:17016
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
host_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEhgIBAAKB/DMF5qOW+fh608KhX7qBLNHHmfzCfOONd176Oaf8rGht5KdnoNge
TYSGqBFuYB1r1RbYEVhWAkH/8mW14XRVNmQ4C9eQDFqeWmmaOoSBG5GdP5GUfhI/
z5vprQw+rnV4gt4InCA7QaR86pLj5sMiUij5OE/CW0dw29+z5E0p5WnQX5+utRmw
ioQJD8jUDvzFrvzKIdE0HVOEl0agbeXq8U2e9E1de4iR+NiDc1zeiQmDNCIhFJb4
FL7WqqokL+49SwSWGmOFKAlpj4Dlhx5dDwJWpcDe0XBXCkfcXn8xXNOT+4YBxJUG
idNMPpLKpDUphZRj8CNBSMkjehIKVwIDAQABAoH8MiCAAQQYvXfeh36HT/IMmGSi
8mIY1G5tclAfSNzCfS5Jz/XNXcYXnjW09LsdjoocJX9NOx30xeawvCA+SU5WS4uM
htEscfLVHJ67EubMsPhuNZZPbZpnWuPucPM77ojg+UY4LKpKyVE4G+vvEJKtaTe/
jQyDJOLKATL4/p5DtbDH7hVZcJVHU94csiE9a9OtyAvSwZLmNxGIBHshFntjcI+/
hmQSFl3d1iduYGx7oeq3wX0sQ1mk/QksUTHRrlLfSQhLi5ZmH9Hnn/Qw2WeXKVdk
BvXAUBiHG7Y0qGHXl5FOkB1BSlmk/EOkBk6gWl1a1Kx4A6oyNL4+HsuBAn572PqW
IDutj4shf8ysI5fLJnvGCygZmk8LPZIlZZqLpDGo+l4iF3VCsd8CU2jKfWqel8+Q
axdmu/BrQ7xyuWpxoHtKICv+CitI1ivzeYQwRCmjIN84jeGP9Pty4AJzhySegf/h
n3irIp07wEzdedoj4A3RWWObX+AeubyUqfcCfml3scNb2oBK24RDVGYaUSWkSHBe
OEU0QlOaJXZ2kCK2rIK/IVI7cD12WpkWTGY782VBmipEXwtMTprQzMrnK25shS+z
AjCDGXtqr0GjxJh73WRurs1dVk6sqslSp1M/R9fmjGU4vdYL2JfMczEH4+57aOpR
sW+H0FEYDayKoQJ+Eo8gdjDcYJT7N4jsRfuLesEImVQArV2HbNrMNNh2AWkYnAbw
5lD3nIgFMFcJhBapTJzZWP4DYrzVOW3MJrEMd3yiHSiXDxm9BMw7h9/05DrCtpRt
fw8b9zOyHrPdCiz9WteGXexE6/hi8ZpOqn3hJ7EiwPWRTK5gappQ3UJfAn4Tr0t2
cwZtO4uNPCPcirzqkacTkgJeqEpY4ERtv+NXF1FLdfD6MC3ayuRN/mN0EWx0UbI8
gVZb/XoOWzpeBJeOnKKfLIIUG+P9rQPY9IAVFclUnXPy0KDzPjcCLHMejokSOu2p
VtXXxY4/huFZHWflcxM56NV9Q5QWDq8+rQECfjQTbNbd4ehbC/Q5EZ1SIzeaSLrn
0ICmiRajnISbje5vPntqPXjBkbiVGx31qOaZ+DlGGLOyzW/GP5X4NOUwza2bYh3q
nnzwBhoGLZfvoes5Nw06leOdVqcvIjLIDhb+XbiiEeAnONUp+BAKzDYOIp7K+LPe
1rHeshh0P/QfCQ==
-----END RSA PRIVATE KEY-----
enable_cf_auth: true
uaa_token_url: "https://login.local.pcfdev.io/oauth/token"
uaa_secret: ssh-proxy-secret
rep:
listen_addr: 127.0.0.1:1800
debug_addr: 127.0.0.1:17008
zone: z1
bbs:
api_location: bbs.service.cf.internal:8889
ca_cert: ""
client_cert: ""
client_key: ""
require_ssl: false
ping_timeout_in_seconds: 600
preloaded_rootfses: ["cflinuxfs2:/var/vcap/packages/cflinuxfs2/rootfs"]
localbroker:
service-id: local-volume
service-name: local-volume
plan-name: free-local-disk
plan-id: free
plan-desc: free local filesystem for bosh-lite
localdriver-url: http://localhost:9089
# For CF:
nats:
machines: [local.pcfdev.io]
user: nats
password: nats
port: 4222
address: local.pcfdev.io
metron_agent:
zone: z1
deployment: pcfdev
consul:
agent_cert: |+
-----BEGIN CERTIFICATE-----
MIIEJTCCAg2gAwIBAgIQPrEW7lFCsRKIYPCRnoi/ITANBgkqhkiG9w0BAQsFADAT
MREwDwYDVQQDEwhjb25zdWxDQTAeFw0xNjA0MjIxNjM4MzJaFw0xODA0MjIxNjM4
MzJaMBcxFTATBgNVBAMTDGNvbnN1bCBhZ2VudDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAK2Owzr/x4wzewIKCx9b7kA9zaXemyEUFsKGZU/FiQYbliUh
rEmGJZX7uUBUxOQD+gHBQSlP2tWRW1W6hug6fgUUcTevhkYrn6educiGK7PSde5j
3uljV+YpzOpQjfXLtVpXP7Fjg9fPw5FXAXMGpltsysnlqu/YWkVTj4nRo8t5MtmN
BPyA/x3GvdCr1K3LV7yvxXe24jRtCcaNJIwcTksOND2pl1fcGkkqnzi1EaT8UfbD
YzQeVH4LSg+ukUQprgrdB8stoBl7EubWgi9ixfNbw3THxVL3kZgMEzO03yyP92tC
MxXhlkt92+w4seAMDDZLD2e+3r4iHd+1qANFzL0CAwEAAaNxMG8wDgYDVR0PAQH/
BAQDAgO4MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU
V2EJqyuNEQDeTMz1/P2B5lEeq/swHwYDVR0jBBgwFoAUgxYmzKGS/VZO9JZTFy3C
Zt27Mm0wDQYJKoZIhvcNAQELBQADggIBAJU0RdHhWr3hICn+Ck3PFNRw/d83LRuq
hfrrNdvSqaiN/FXuo7Xroax5PHT3DewQBFTqiJ+x3iMCK4NyuhevB5itExm2sJkw
IpdjepnfpPLa1ygc/xNZtvWustlChKDFiBmA2uDwm4z1V8UnPSP3qS0lP57WMymr
9b7tv62qgyz2uhlP5dhjGdLUnFdUr6EFwpUjxHfHeOmM21p2tRjcsemMHFMKeoX/
0+WgBAT2Rgx991JSHOS3n1f92MRICCb5Gm006z6X4y3lnpgWAR6nBAlwvVNUwUja
sZCqiLxGOMXgXLIwRR++yApnAL+xOq67QBYVQN9weludj0bsOi38qPVftmivEwy3
cxnSS0FeOKyNkllFYtf40J3A9hWeP07SyC5/hL7tzKo5hYEGC/MNrLlixJ9qBXmD
7Y4MOrAVTFsb2jgYdRZzsUGWO1PZhI7oUxc8axr3eN9Wz39P+Mq+ihoHFo9u0YKH
LBYmRKFm/INw8i5xhdWwVfTk96DY/MnlYm0Jb710pL19v0QpDsX1nHRJQ8g5ENul
g25UGJCmh4+maQZ/bJ5GxqKfpMfq+iBadx0mu3AWjrfoDspPxOsult2rE0MOSGMy
ep6clZEN8IfPJD2H3Rk5aZydPcCH415pN/80YJ6sSsaMFcyCjPk6smkzqixxJtMw
Sr49l3sAAm2N
-----END CERTIFICATE-----
agent_key: |+
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEArY7DOv/HjDN7AgoLH1vuQD3Npd6bIRQWwoZlT8WJBhuWJSGs
SYYllfu5QFTE5AP6AcFBKU/a1ZFbVbqG6Dp+BRRxN6+GRiufp525yIYrs9J17mPe
6WNX5inM6lCN9cu1Wlc/sWOD18/DkVcBcwamW2zKyeWq79haRVOPidGjy3ky2Y0E
/ID/Hca90KvUrctXvK/Fd7biNG0Jxo0kjBxOSw40PamXV9waSSqfOLURpPxR9sNj
NB5UfgtKD66RRCmuCt0Hyy2gGXsS5taCL2LF81vDdMfFUveRmAwTM7TfLI/3a0Iz
FeGWS33b7Dix4AwMNksPZ77eviId37WoA0XMvQIDAQABAoIBABVoisR4UJEGuKGj
w4N2v4jFFtzi/Jez9qrAETcp0qEiPf8OjEX1eiVqC4vX6QGHTAtzXypNY1z8tRt6
CrISpQDTaLPJvvJg5yyx0/zcL//achmZ0CFR08HcXh55GUm8ev5NzNmAwP6Z7jG7
Xb5mj5avcMQ+xDsZoOj0SbxiU6YBdS5lmV0VABfvxVRGw+WHsxbsnD9tVjsaRca1
T+iaTsfK9u6EVEIPTl9MZb8Dev5Exqt/nQoo1mceQChLhgF+6VxKLO3GPmpCHZNr
/6+ydS6Qrdjs9EdVx7WSN9B7SPARrHFERM0VWBdumAWjOx9De58TqMvNhC5VKonH
Tkn0NgECgYEA2t7fi+8+6ttFFCHJP+U+Y6KyzdwBDUzgJc0ZRx+EEKRqvVQn6AWY
wZhbE7QxUkf68pgQ0YlcQGWf9uUKXeR6VsD+6yO2JJI7906ba4fsWYDm0spFxDxM
REvDAJZ0BSOD/a2zJBZeNMbztdUgW9RmHNoEzgswsIkJt2FlZKaXWSECgYEAywAJ
UPBt3qYSyVlhPuRN2i2BPKRme9dyg+1ypFyw1Zafc5JhjKovkn8Rgche8x2tfL+n
iBxSVnjLXRfHFrbOCAS4c84AJ0bhoW+lhP5KUIwco1i3jCm7Knv6nsCfbeEwkSUG
kc4rsCe7cNFzQtbe+MeWMCbGK0x8kZg49CdGNB0CgYBvI+OCTG+3lLakPW/TOVaQ
A6smK8SA+3uK1nYyjodiaAsnrtdA0665B+Ofws2UyaZdj+hibozgynoLRk0YVo/l
A8Wuo4i3U2aN82Wqme/jlzge68W3myLjP1F7N+scPOemZpDkD1OxGyHgQKRY3Scp
GXB9LGOCEWRUsWlqTcnm4QKBgALu7jOINd44wh68tuYEwIc9jxeEPKLfex0i6jwr
xrZfZdBytgwlTWitg2A/t/eFX0NlNZOG7T2ooy+mL09JtvJwtwWdXW0z3gDKLzcb
wZEmZSeLGaPh2n2DqxxuJh+dWGlQgqbKtuDlwhSgQi0eE7y+jZIGjWiEw2wLKg+F
HcOVAoGAbY0NUyuWkRUnSRO0e8+h6AU0Pmdp2qGu8UhewKslmL+WoUm8REwwC2UJ
FSxb96zvg2HXLtbzXSLoovSTsJditm0sAiZldeE6k3QstF+2H0uCk0xg0+sKK9tt
6Vi0fCrH4M2LqLYZF/SQVVpQMalZ/eDRNnlYGU0e9PIm7hgQFjs=
-----END RSA PRIVATE KEY-----
server_cert: |+
-----BEGIN CERTIFICATE-----
MIIELzCCAhegAwIBAgIQFhPJIp4iCJ6HrRu9+VKOJDANBgkqhkiG9w0BAQsFADAT
MREwDwYDVQQDEwhjb25zdWxDQTAeFw0xNjA0MjIxNjM4MzJaFw0xODA0MjIxNjM4
MzJaMCExHzAdBgNVBAMTFnNlcnZlci5kYzEuY2YuaW50ZXJuYWwwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDU213a8PJdM3huWrOh3pK82AU83jDr9y/d
2m/mYtD908O84IxAjwKUETE16sNnmEWSP+C7eEfQg71uTU4HSO0rS9xS50JNMn4V
wPVfzK7xVk9CcKlVSIg/TzHevVMTyp7uYIp1E3KyrDJhDD/44T4d02fyVXAyOg8v
zEuqYU37jb5bf+16utWi9U4NB3tR3L4EI6oVOXQjQ2MrF7prjlm2UM0yM+yzFb40
1QkMmUID+EdmCT05hCcNWYL+OsHAG1HakSqB1Pi/Ux5B8/2GRPw2lntaWF3MMKhc
KKXo9z8RaRrAlIBR6GVyG69CG2uoOWrrdqqIVNKREWXKgcvLu+qTAgMBAAGjcTBv
MA4GA1UdDwEB/wQEAwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
HQYDVR0OBBYEFBSTT2GxUt5mSHT3kK1/ar1tMZWLMB8GA1UdIwQYMBaAFIMWJsyh
kv1WTvSWUxctwmbduzJtMA0GCSqGSIb3DQEBCwUAA4ICAQA0LpofKdohWTRSq+wW
bo7CvM6+vDw6Wjxk2CoXxEFzrpVJvgx4Tw6OyoqEMN8kH4F+7dl5lkG9jC2VdPmq
hnbZfqJQgOA3B5Or01dHn2XnzUqMpb0cxMwLNYhY6ribq2V+B6HKvKdJZv9ww3g5
qAU3O5JYd4qpCNjdu7ZKRv3D0SLy7SE8hwpAQCuca1F/Wievu48kGGE9JO256nuD
BlXQzGoVAKxbvBCNlxpPErG948CLPjZ2Arbuczwvgb8A1ji4UAFQrAwZ5D7/F0OO
nS3rrbzAh7HO+X71Ow9kjbRKvSMNIRIiMHV31Vl1I2MBFS9FvuWKhPTo6J+dkkEG
WgxAcc3BcOsQy+/c0z2kzPMwDGOrcLZH9ysP/oYrlpsJ0K8ubL5TYpVYE2e6y7fS
83Ynqli69Ge7Y2VNkhN+3SKothNdsMCAVDUgWNfHaPM/JRUgOElGSS44weZGnQLO
0gCkE6J1+PdaqK5tRUwr9SzIBCQx7Fu+qKa3wqQoB73o+IC4U16dPZj6IqM4PLCJ
7sPyF3JvNOsAN8q88YvEsFtO4LfIzIPX3+FC3AqezRYMGk/4TCmkQdB7GiDOTj9/
dPF5ub6pGG5yIm9k8s3yocmZceHofo4ioy3xQR4Y3EEBUSvRR5o4nrMll3deVXK/
GrZJY9Ap7M9qpluBdd4BJ5pg3A==
-----END CERTIFICATE-----
server_key: |+
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA1Ntd2vDyXTN4blqzod6SvNgFPN4w6/cv3dpv5mLQ/dPDvOCM
QI8ClBExNerDZ5hFkj/gu3hH0IO9bk1OB0jtK0vcUudCTTJ+FcD1X8yu8VZPQnCp
VUiIP08x3r1TE8qe7mCKdRNysqwyYQw/+OE+HdNn8lVwMjoPL8xLqmFN+42+W3/t
errVovVODQd7Udy+BCOqFTl0I0NjKxe6a45ZtlDNMjPssxW+NNUJDJlCA/hHZgk9
OYQnDVmC/jrBwBtR2pEqgdT4v1MeQfP9hkT8NpZ7WlhdzDCoXCil6Pc/EWkawJSA
UehlchuvQhtrqDlq63aqiFTSkRFlyoHLy7vqkwIDAQABAoIBAQCYqe0axo1Nw0iw
/WSwyA2+W8EF8uZrlxJBsBVpy53RLzzIDtUIyIk04U/GN+aGOnRLfH0WeCIprxMC
NXetSeSwlOwkmbC35WsA9zAF0av3c8vM/ziz7h2qKoa+FlOrcjujBKLJbXVqKI7J
hButyP7gLWv0Jssdev7BbWknfjqMG8GZTgzzlqrTXVSvoQdLwIdfVy1a8Y1B2vUE
b0CZVZzUmrvpprhroePNxq+VefNjCpQyU8qQdd9KnIofCDpORCSaTe+5XEj3BMzT
frZb08Adr8FVheiZYEu0vTsbn+TMCh6LyhVmMPL9sMGwQeI16MXFAViPu6mU++Vp
7sk4dlYBAoGBANj7M/qaklvI12u/lvqBMjvCW1G6gDJcff3duvoCTEb5j5mCnf+X
vV1LIGzYnlgWxNyO8DF4j7eUOeLbbi2hHI4jiCNvAjeaAO9NQ5kTvcvTZSJgxpRE
UV8SVtCXK5eBckzSwH+pWQNouRgnYinw8q2qx/tnIYj/dPBmtgbMZRbTAoGBAPsi
TCHsUQFju+/ITLc1fV/QoyHFPQOJ8fP0yA+N45mZOaDv/Z0CzWQS2DM36jiydO4d
LnTCBRpEk//BGcdYwbTM6m4OjaN6Vvof6erfAf5WsEvaZhL+tOLTefOvBUZKfxRk
8nlN64zq7jdUkPC4EO5ed8EvE4+KN8Z3DZwLhQVBAoGAbTh9oK7/7z242h71w6EX
BSe/SfOEJlWSgiCDxuczOCLVGuO53nemNXjkmIWtpw/HBnLZCz3xsenl/YCRBFzt
/8p488UkK5LU16Bf34Ula508ckKekvGUuDOGCbeelMPvIiaQCXLYQLQNP9BLRGtp
7OtjgPQX2FsmpQA+rktis0sCgYEA+JvVXmfBMWz4KcHSIDR1rxqtw8qsQgqXWXhj
bPJ79Bx5rlambH7PsVfua5XY6tPPacG9sZw4zO5CzRbuXCgDaubI1LbXhJSh8e8R
9I9cO9q5n/3OutMnYr0TpycGQ7WP5DKiz29R1ijkNiYjbgnpyPAAAWCHLrwXxwMo
l+fXgYECgYAFyw5Vcm69GiD+IHodrQLavVw1OSyjQwbDdo955XPhpTzZ3FtLqTdD
nfmDn3ANf/ISCP+V5V9C1eKL1wVDOT2TZVLaE3y092KCxU+FsptC7oNOmIcff/x0
McJN1YzWFsHdV5hPCqAFV2zXDKMSy9Zd1B6wBUQCN5fl+8TLkFf/EA==
-----END RSA PRIVATE KEY-----
ca_cert: |+
-----BEGIN CERTIFICATE-----
MIIFBzCCAu+gAwIBAgIBATANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhjb25z
dWxDQTAeFw0xNjA0MjIxNjM4MzBaFw0yNjA0MjIxNjM4MzFaMBMxETAPBgNVBAMT
CGNvbnN1bENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAySc/E5I2
yi8MFRNMZuFSxiXpVCxxozC9md6FO8+8JnO46lguozUJV+5u+fHWkiZ0Cu2IZ8Qj
IgrGrj+z8c817IlimS4jUJ2RQ28SyEsf/CMK3pcfil0nJpoz+yEcgmROkaMc2LKb
Tj8DBhfjRGMM5L1GS0fEYoESe9GEr3QHbbkWD6E18CiBBbZWuw2JqqvxeElnuT5x
Qylw/0YdYA+O4Wa4yFTt8Igh34kjJUxPS5Z5u8hGG15icOZj//Kd9Q8XRlbGBQOi
OsilzUpbpJm++UtPf5CXNanWK3mQWEweGsgQU/vieKXbABpoZEP5B1/qxgew0SoR
P2C9G/L+TGWluqlu2y2wSUpedTcpEz+DV26RlsaC+YUekBIgQDinHwsq2EIGguOL
UvbQ9/IcB5QN5l5TbZZKsazFcRTYGTCcNTcZGxUHms/Yz4HX/rs0zSOUcJrjZLsr
/r/1sdIkJrRO4ANSrVtM1WTejpsHKN/gp71fDyoi3CT3hXdS8TOQWBXT94c6y3TI
GMr5HIYtFAH6H2DXzpyRXScGdSOWfamMQXJkbAOx782RJQOpm2um07J9DbH8ovES
9I6ieUvJ1exxn5sqe4cocdFm/5sxNHTXB01M2Fh0BJHvC6JYHocGO0cIe1qImJeP
zU5e7M50iOw3W4F9PqfR4b0aN9moOs1TVOcCAwEAAaNmMGQwDgYDVR0PAQH/BAQD
AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFIMWJsyhkv1WTvSWUxct
wmbduzJtMB8GA1UdIwQYMBaAFIMWJsyhkv1WTvSWUxctwmbduzJtMA0GCSqGSIb3
DQEBCwUAA4ICAQA/8/xbZ+09AxI/3zAeWoYWVxu8e06yIqxqX4UUw8wB0I3A599j
PbvWPmaho7v2IxjSt0XrGynoBnWyPaPesCqOR7ggIYmTbsBYiN7Zncu9uL9JPb5t
3MkxBiBA0Vr4hfyruOt1OlyymctyQFcQh6PzAFer0Dd41lMbbm70yXtczSV7Kpl0
eUaTvlgmdBlnXnplePVLlTtTfQSGAkgmPg1HEvw6egJs4vB888mnt6ou6GeUK/Iz
OmjEpbcHNHv3BOUw5AssigDvickjWiP8l2MmBJte5ukySeRsYrR7LkrXBXNsC0Gy
bUyYqxdfCmerEiX4nF9Bh8Q53JaPcI39u3IrYylzZhofIMT+YFDltKBy5a5VSBNe
nySfZSG8gQBNUe5avDhkY6VPP3ZmanzFDTHCJ5PQuRSti5DlmP49Wq3qdbEmLkBB
KeLPdCSUGTEhELDXFZjmq+QTqd/DP0gK1KE6ccqYtP4LwrGk6LFrDDCZATORNZJq
XIH3pgQKoWhMzYGLG+zUHk1ORsL/khCt6sRk6mHLJBSVbv+mj48xV+x5qD77X3WI
FN8Sifv78INAlFMf5FgaoMloqI8WYrSLshKwzlMlOGD3cIEx7UJXOuowl05kQIBY
izb0yvD8f628ImPg5I2QK5Veo/MFNK5i9egoWCtluGyfjABmongS/V1F7w==
-----END CERTIFICATE-----
encrypt_keys: ["consul-passphrase"]
ttl_in_seconds: "300"
agent:
domain: cf.internal
mode: server
services:
etcd: {}
gorouter: {}
uaa: {}
cloud_controller_ng: {}
blobstore: {}
routing-api: {}
silk-controller: {}
policy-server: {}
servers:
lan: [127.0.0.1]
doppler:
zone: z1
outgoing_ip: 127.0.0.1
outgoing_port: 8083
dropsonde_incoming_port: 3460
incoming_tcp_port: 3461
websocket_host: 127.0.0.1
doppler_endpoint:
shared_secret: loggregator-secret
traffic_controller:
zone: z1
outgoing_port: 8084
pprof_port: 6062
loggregator:
doppler_port: 8083
uaa:
client_secret: loggregator-secret
url: "https://uaa.local.pcfdev.io"
etcd:
machines: [etcd.service.cf.internal]
tls:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE8DCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDEw1sb2dn
cmVnYXRvckNBMB4XDTE3MDIxMDIzMjAzOFoXDTI3MDIxMDIzMjA0NVowGDEWMBQG
A1UEAxMNbG9nZ3JlZ2F0b3JDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
ggIBANN+QfqnZl2cAoWsVwUb4Nk3hBXlQXnm+U4xitLqmtHVFrEVUGm7xEzbbAqB
5KfRBMhQPzmGsfgX+QKFOjJ73zlrbVSSWVmWS/UrbwUmc1Nk0w+t8s6uTn/KaGfu
4zDNlR/ZVkQ5CkJXAEGsA4mJJo/JNH8aswJHUn96l26JfT5P/CuCfOmt2mo9yu/A
O8/EdU06d6DjHIogUHKYmRp4r/4CfYed7V3jgZRqxbtIhvnDCL0zH0C1BX/wGJNm
H5YM181nLzTUp/aCIQSNzQV33vCGvlAaCfmJiEDXyGuDjOiTd8Lio7pLb7VSNHga
8EF4HvbZMNMS//dfdJ2aR72twnPFRiaJM1AScvtD55Pqty0dg0QH+UPQHor0BKVL
stZ9yLQeL6lPv6vjbTUWRSAHNLb+0rXYBXq42yMmoniZkq2DWTQIcXMzSENNyDaP
pzcZUTrTGuvWAFyrmOX7K836QTAhxbcpRLy6FVYo5/YnvSoVy3rKXxY7C75MZW7O
4/CTIjU/bfPYKwyGgOjocVGTgf7buUhjRuGrfYhAs9bPbd+f7zplZ+Tr09i1xa+j
V5vPREQckNCPxO0rr7I+v8jdpbdWNEJ/BMovuW9YKCx0xuuN+c8hM2myCBzRNqHk
kKu66pMSTKxZjHI/JcEGadjuwLq6Ynk6VubGGngRUq9w55mpAgMBAAGjRTBDMA4G
A1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQskvGk
RgSOZOlUmPl8i/yHY+PAnzANBgkqhkiG9w0BAQsFAAOCAgEAkvzipBJxnUH16F8L
qSJ6epHJGjVstFnmFk0cd+h0hjm3pRr6zvYMN9mdiEzZvpGF7yWz3ykDHZkT03Zl
+P/XYrwh1ettl71ouWkwNsnzTGhrdRIBOXJB3Ewh2toRhuP2kNYgkaE9x5vkklaJ
FJ9gpxf7V1pRttr5imIU23t+UcPeV/PKldL0Lqk452iHpwdGx+CiNrxXIc4WWnTt
gJcFWqOeBWPeIU7dnRuI2p16+vOO7NR1ujyxsCyC/YxZHAGMril1cKK+Std9DDeU
wxoaSZTC5tcLJxup/rd9BozbJSSM3MwmYOxfZYoCVzxaSd6UI00TD+5pThrVbX6b
eslSaVKrei1Ir9pAa+OnXcxyw4wWqgumX+/NHlsOTUX/VbK11vM8VZ9zDk3QxstB
Nye03iMbPBQ9y+TQWbN8FVsi1IabVZAG/99ZYXj2hiWkpNIEhx38EQ9Z6hPCBLiU
THkTfMyz8eC3k05zEKdNoqciLshXB5Vk1gkVnYPxrkOGmeHIaP9B3GXFX8OKFY+j
UE311qePXJEsP9rT114asPCL6+51y0wkqKd0kbsEnicQr0Rw3aTF1ehEIE4+rtRK
SDHGmlQr1Vi8HtonlFG+fPQGkaoVIcsCWQIjwp7JC1ELYpX14g2gNY3cSSYCj4Kv
CaJ+B0v34Xp/XcDb5qR8Efv33Xk=
-----END CERTIFICATE-----
doppler:
cert: |
-----BEGIN CERTIFICATE-----
MIIEJTCCAg2gAwIBAgIQWRLU9fVC01iejTbyzp9SSTANBgkqhkiG9w0BAQsFADAY
MRYwFAYDVQQDEw1sb2dncmVnYXRvckNBMB4XDTE3MDIxMDIzMjA0NVoXDTE5MDIx
MDIzMjA0NVowEjEQMA4GA1UEAxMHZG9wcGxlcjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBANq6Zv+ja9IRiMDh8DBTiA41O8wMKgAa0oNN4k5Ty5o0wGO7
OOosEC1jMAvKE7HKd8MvWojeKel7JEk4tQTLB2oitU5Kv5G6Ai84jjVEpL5F89Hn
kTqANAD3hMgeVBV94KD2+ETr4J6LMvrV3fs/AEFef3O27QvyRKDjUufNT9LyAf0A
rJlfhsHdTBx/YznO1rONdjJ1IewQtq/j0ymSEvLuJJPVntHHdIR/69mF7aeYf4IE
ajmslmFNNGCag5tqIsDFICyTBVheLSxHsTgEkgirSwPmfNfwKdqs7zmdSHkVxa3J
kzTmH/zAg6CpP3CfP0RMqxdsfD2oJmseQKkKW4sCAwEAAaNxMG8wDgYDVR0PAQH/
BAQDAgO4MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU
ciEo4XTzXwzldlVCvnyDMjSYv6kwHwYDVR0jBBgwFoAULJLxpEYEjmTpVJj5fIv8
h2PjwJ8wDQYJKoZIhvcNAQELBQADggIBAF150pKlhMLknK8XWt/dUu0UHyF6MRyA
cuoFIYRhnAxyb9K7+lRrkAPJ5kSG5c/fxRI4wj3ydI4ZfpHAGQGporJ3zdo1f/mD
fE3riecVlZpZ8aQwNh3MZsZnpwUn9V/VeYwFdsvpKlR1hdQJCKxK88HpXrq4dJB1
BPLM62AvFkNouWVrn2O9YDSluk5tzJ8A5sm8TFbOjQX4T9ceOfPQiSGYLiTaBORc
oFAzHNIT/ID0ONTrkt+ZSjYQJrPdyJheoSfRP8LLDM9hslsI+07xEHBces36T07d
0dlnFxrLxpiv+gB7UxCrnOW538Zxila8Z7CpDvafmMuwzYY2QmeeeekKKCf+xZAR
BKGg94XteD/w3hbEtyjUqOmNHVClC64aRzKR2eELMkZZzUlOLHZz5lw2miXjcwZU
0TTpM/ZtgwKTjTZXw6MQJmDoaFuxRjY3z0eqbnrZZtfosSSlO6psQLlTMcXIy2M9
t/vPzinQY7NsUY4Ty7Uw65tPbUhpnz0d1VVvcxUEqbyTEEHiL5WnjXSfOwZoZt2Q
21SJiAUq6NjPDwdGtAKWWAREYIKxFg0KZf7vWlLBV7Kdulot32T4WIZVJ+Hv1jZt
qhTTSxtYYAiUEY3ueJesXhARo+DT7w1pOSENlR0YhpNkLOkWKwoPwheqzdtSgx/m
HOoF5Coq8Y3+
-----END CERTIFICATE-----
key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA2rpm/6Nr0hGIwOHwMFOIDjU7zAwqABrSg03iTlPLmjTAY7s4
6iwQLWMwC8oTscp3wy9aiN4p6XskSTi1BMsHaiK1Tkq/kboCLziONUSkvkXz0eeR
OoA0APeEyB5UFX3goPb4ROvgnosy+tXd+z8AQV5/c7btC/JEoONS581P0vIB/QCs
mV+Gwd1MHH9jOc7Ws412MnUh7BC2r+PTKZIS8u4kk9We0cd0hH/r2YXtp5h/ggRq
OayWYU00YJqDm2oiwMUgLJMFWF4tLEexOASSCKtLA+Z81/Ap2qzvOZ1IeRXFrcmT
NOYf/MCDoKk/cJ8/REyrF2x8Pagmax5AqQpbiwIDAQABAoIBAQCbV8GpE5aS9lMK
siyVFe5OMO6MJ6N4uZQDH0B34rl6hraQ3jo4zhybL5PC+7zrC2HtZOdGx4o6wXNu
8XBWvB9C+O2NcjcGN3YvtVoCaQMcA7B7xpv1UXIdsa1DN47+SI1NpLmEsYWw9Cm7
zkK+musCgivAsg0+68xj+6845C8qH9hFEYxG4soBE2AVj0TWzFc6s3uPoLTZeEQV
1+ucEoUUMliFV49PDifeuwO8c+hHEXurYpWGY78xKjCm66C0H8QcYOnPh8vI3/AK
8ku/HDoc9KeobiujAvpqfBmWfW5XJYLkPhpOrZr3OaILNl7Jo7L3XWIjCdR4HDrs
WyfWYuOhAoGBAOB6AFLBrrZlJmOtzlKHYCiP1Ho9NR7O9+AY6Q60/k6FFWnGOM5N
cU70sdIa071UxH1Ilu5lKzE+oEhRSHDMgb6qYtODF8YpzADfjaHkQJSnvPU9dgvh
Howy7KcK0odb5d1IkbKFAeTLbqi9ZDwWU+qE/AQoGO4PU0Sf7bi+d8fbAoGBAPlx
vkKptbnfiWN8RlyrO1ZK3jk///NON6WATYTK1A59JqJOwkWVCwnUwogI8A9zKg73
+yvMiMzpNAxmSTFlOL7WaD/d0Q0pJkMvopksPgpMGRsIu3j+QzNaauHZ3ZZkVMZC
BgFzvOhlUcg0du/kuloPXczKF1lZCR/D3PIPESIRAoGAO06gdTzszw3MZbuO7mkL
88uEZMN1HG2sOc37DUKuicpJjQetDHyTejvWG1+xH62cuEkMb3HVRo54RIMNM5gk
k15q+9z/1ABJANYPkn0+vsfOebDCVoMk0f/GXJ/UXaTfB2bb76GKjYtd8kEPkXyI
sUZvWx3I8GSmKFRkt1HDTc8CgYEAwCtRkVffSaAd3wfpyRCduQAarW5Rx+aVVio/
DjOYJMVj0xzr6+FDzMIdT+Ha13w4hamj1f1P0tVCJN9UOfqqOdNCIxnHKOVvtcjn
8is0bIhtuvcCPtdbfB+HQhGu9WK8MLTCnbHFciBEXgGVM4E505INCG0Uid/e+JrT
B6R15ZECgYEAiGchj4kQFVtkZg1raBcP14gsSW6dRGroIYRcN2HC0qfcNeviaFWC
BMs8X+svgJC8D5lI/Xov/Gdc7VXK/k50kWGChZDZK/O+a6TUyirYxBllB9LBmn46
pa2wmxyASvITto3jDCHpeyOJt+8Sq8XrHfPVWJkWcFbyj8bcrQXcVCQ=
-----END RSA PRIVATE KEY-----
metron:
cert: |
-----BEGIN CERTIFICATE-----
MIIEJDCCAgygAwIBAgIQRSoVfjx0yvwbhBGomUWfezANBgkqhkiG9w0BAQsFADAY
MRYwFAYDVQQDEw1sb2dncmVnYXRvckNBMB4XDTE3MDIxMDIzMjA0NloXDTE5MDIx
MDIzMjA0NlowETEPMA0GA1UEAxMGbWV0cm9uMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAy2HbU3xqYqGU16NAJQRJGAAMD4MtcXXNFAdwCN4pn/wrRKI9
JsiMgBMg7uiA8C6sB5NNIZ3VlO3y58BMG+Lc400N2MylpXCfrap+QNPnIR6ZB8yH
apwOQqJ36G3bag0VQhRacFdyDgACsbxnswmw+z/PtjILDp4XmWOibdvm/bPDxHTP
2+jXbkyusaW7BPtNa+zG0i/T2ZC0K0kuMx/O4o65yWXuKmYlK9TUUWibzkDVtuyu
QEcVK9No/beLDaMYMrKCuKfdxfK//HE/NhCXcx/n0AGrnSjD/rHv47KX4AeMUKfD
6/koem8TwCNwNNT63DENK9j/wkuZwZiIh4KGAwIDAQABo3EwbzAOBgNVHQ8BAf8E
BAMCA7gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBQg
JJ9Ag2xtyyZeO/NhfFSPQZcf9jAfBgNVHSMEGDAWgBQskvGkRgSOZOlUmPl8i/yH
Y+PAnzANBgkqhkiG9w0BAQsFAAOCAgEAvc+T0iwzT7G8oYy+9IZpB6RfAF7ZjTBM
7J1Q7GAh8M7YgPldTwv+I7Jnyv1ogehnb0K8vhbad2S7OBljLdbsIe8UIxgcVSNP
B/nW6d37EPxamj26aaFhvxaAL4HMb3lLKQRvyN7jM0upHhgv5NKsgpQp+WRgr76A
2pBUZlxtilG4an5gX/GB21e2Mv62Fx+W81VMGVAxIeh14XAK89+mXjZvTMPyFAYV
HvohpSOzkp8nxyltOvxHqymPZNGPxe2AII6yJT+sqLmiCHCYZOqTBgKbSdblTYnx
xae5QCpVrFBHfZVRARsYXMm0WZKWZZ3YTCqPxMx7oFDha6mY1PeJExg5amXK/arm
3lNS5LZysfwmyooucAoI29R6XvK07nyVnuLoZkVNtaqMrlNalwVtZEgLkJuy8gCV
+G3zpkPpzxYzuWePt+ug1RGICzsaImNPpc3YhFCOXTRCzL/ElcTiYnPa94FKpwHS
vafjBU2oXy0jLQkozQhD0y64fASXmbxp1EqfXDMhUN/IPTWZLWRsO8/cS4pcSheQ
YmKA9xwJOZvDgM7shc124mjw5TKici4TUbpY0k/3WJlwAPxqXP3OWiv5tUWmNagu
2A8gc9W6NNin7COTgCcpMdp99XRP95TildxBsHRDrgE/F8gxGtlkLb5pohkPni5G
nOHB7OPKG0w=
-----END CERTIFICATE-----
key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAy2HbU3xqYqGU16NAJQRJGAAMD4MtcXXNFAdwCN4pn/wrRKI9
JsiMgBMg7uiA8C6sB5NNIZ3VlO3y58BMG+Lc400N2MylpXCfrap+QNPnIR6ZB8yH
apwOQqJ36G3bag0VQhRacFdyDgACsbxnswmw+z/PtjILDp4XmWOibdvm/bPDxHTP
2+jXbkyusaW7BPtNa+zG0i/T2ZC0K0kuMx/O4o65yWXuKmYlK9TUUWibzkDVtuyu
QEcVK9No/beLDaMYMrKCuKfdxfK//HE/NhCXcx/n0AGrnSjD/rHv47KX4AeMUKfD
6/koem8TwCNwNNT63DENK9j/wkuZwZiIh4KGAwIDAQABAoIBAAvtEhJkMkzUUskO
Tp2dEbgxkIN8WrbThJIPGZe7h09VVygwJ0vV6L893+mCgsUSx42uKpC1E6gnB95l
HVFpTTCa/RvgbDo2T3a8j6i3hE8h3zFg4fPzcLahlkxv3LTsTXnRfbgmuI5vm7jW
ZnJOOC2TgVeauaFCzfl1qTmt8m6f+BhqpQ50kPk9Qkue+cWa8BR5sxX7IOpuThK2
doTygApvpRGt1hyTnuhvVc8gnfIFzS8TENrpysoBxP/xqtqCXefwpXP9nD5Z7zDZ
INlZDvGNzagG+zLZ0iZi0nrHgjx1dD/otlO1r2FN+rWLcQ9GqYzHUFkWI/qE7lP/
7BEM+GECgYEA+GQWuSmCuyhnECnz0QWvslaU+PuO+egF/pjO8NIBn5mKpDblyCdb
svKTFMV+6gHxTNF5+d34Tr2jaTo7eTsj9+j+CjiZYM7kZRxQPGSjd66a+0bCQx16
d81HuIKf1U2wWd5TTmeX5/qCvECfcZt/W84py5hU3Ua6V+mGaHOrGFMCgYEA0ZzN
5zGobha34tFrV85aWT2XyIfPFrm0PkOi/hFyDaYqBV0D7RhxIjc+AGX7E3qoc5Z+
O9Acs2RboZbxDvIwwnldPvgoleGpMqeeVVJl+hbwOeMRfuR3rG/3yAatkkc4TqrB
SqfienSCFy4aPKLP7/ZSlr/qYkFrOvzCP/zbZZECgYBQDOmp2O/x4057zhlutrdt
8StnpqLodVdhOtwOjo/JYNFmpO6e99g8rqKqIhAJ2IBssmHuHhRFRCai5gp+womP
/v3IS39azLKcx2gwXnq0OohmDOLUgG6Up4rCsw5RzwzTmawda5NwRrLVerooAeYk
ryeXHsvS2FV7uZ4Aka6FUwKBgQCieyr8iHioBYI7FtxfbvyH6n+qmOOFGSRHk4RX
70v6mpA+IhD2C5k+zZWJF4QdYFoNZ12onbRxtlx1EJ0BWelEBnGqaxCCxi6yrk3E
k5+q0XcbWBFqzEyb5Rsr+Uk4d26FREWayjJ7e66Pq1P5JreKqeTxKAjWayFk0yL8
GNQ0kQKBgBALKyo8NHRJ+KvMwAGm49vIwaIgcq4yVhtzO0JoNuC60hwPrAWhJiGL
yO6MJS7zcbCtzmJbPJRefOPg4Mp9Mr3B7nRzafqEX9lpKvUrJvPKhXZM215JZej8
ShcLxA/Cpsm0f7mZKGByBIInIQ8xesJAyl25xjfDDgh1VYa7dbLG
-----END RSA PRIVATE KEY-----
trafficcontroller:
cert: |
-----BEGIN CERTIFICATE-----
MIIEMDCCAhigAwIBAgIRAPGFxcdjGPFKaz0GCLRvgEQwDQYJKoZIhvcNAQELBQAw
GDEWMBQGA1UEAxMNbG9nZ3JlZ2F0b3JDQTAeFw0xNzAyMTAyMzIwNDVaFw0xOTAy
MTAyMzIwNDVaMBwxGjAYBgNVBAMTEXRyYWZmaWNjb250cm9sbGVyMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwL5w7niAM/v01u7hD5KYiiBwI/unxcUb
68f/vTlQYlE30RoW82/nuf2lAN4Hu/aXzNpT/PYYWrV/LmmglsneDUQCSr3OCv8S
R9b6IlFhtGbKOqH+hJ5ReANAlhWfpLFokq+XKw8EN0Do4BCl1GjH2Xv2gQ3mn5yA
CT91HYLDLaJAl5XLmUUZvNaEO0eyMGsDJdJbdVBwSfODwuoKzhB4RPyOE3WCQflJ
L5Be/vqHmtqTI0dv6A21Vm5vxd+DA8t9BAq1Q5ZH6s6MaC2J5gzRYFN0IVBSGkEC
jOKiHez7B4xL6s53pCF5YRnON6ILBGp2GeFAankajlop5FhRkZfzPwIDAQABo3Ew
bzAOBgNVHQ8BAf8EBAMCA7gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MB0GA1UdDgQWBBSce9TO1i5M/pHUtOexXdSHS/uNqzAfBgNVHSMEGDAWgBQskvGk
RgSOZOlUmPl8i/yHY+PAnzANBgkqhkiG9w0BAQsFAAOCAgEAiSHgy0g5DFU/rlPX
eiva6r+a1gHO/TSgd1anPqPkctHkl4264UKBBjIt18Fbf9dU0Icj+JEFDViLXUr/
KQc7r0+tDCJd/IS8QWX0z5jyvsx1lDxcVUWnddxqCC/xQ2d7n8eqEC34ywW+Vsr0
Eoq9boMOI1RnkBGI1ELbCK+3yDKo8jVUjsMmpzbBV44ydkhrsiDldLk4lsEByAD9
TdGVGXw7wEO8DiPSm6nj6UWNtIcM6rnttTV9KvjGIISeKLWz9+fd68S+1IpXw7VU
afX4ELB1rTwnG7TTtGyQmRL2O4JZWwP8tu3IcnmxiwxB70PkIntxnNC5Greth4uH
7n2wkxvxhi+5v+njhtSNTgHGIq7EIN+8ztHlgx1Ol0nHpBCVfvMuc3aY4+jg3qe7
m55Vh3TaDrxQqXuEb2j6mu9Lk+B7Rl5WBjvJVzxFUL8NmABmEL+X8GfhMcwldPo8
qO8BZtSX/9UozkCItxuq1EsxiWNDKSDEF2XGxJP8U6uDk96rSnY4TuJNKjnF9SUm
7nrcQzrezF8OqQhZIomzYe3tVqCTI34p+iYTsrH8xLIPuiSaePpLsJ/747f2bHWR
i8ESZ5P+ALVR4fOJiNZJHwLhs4umVzCaBOiAF+65d29/q9Cg7dX9l8rOhznz0q7d
KQXFegrpMEzZdpvlJjkvr5dbkys=
-----END CERTIFICATE-----
key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAwL5w7niAM/v01u7hD5KYiiBwI/unxcUb68f/vTlQYlE30RoW
82/nuf2lAN4Hu/aXzNpT/PYYWrV/LmmglsneDUQCSr3OCv8SR9b6IlFhtGbKOqH+
hJ5ReANAlhWfpLFokq+XKw8EN0Do4BCl1GjH2Xv2gQ3mn5yACT91HYLDLaJAl5XL
mUUZvNaEO0eyMGsDJdJbdVBwSfODwuoKzhB4RPyOE3WCQflJL5Be/vqHmtqTI0dv
6A21Vm5vxd+DA8t9BAq1Q5ZH6s6MaC2J5gzRYFN0IVBSGkECjOKiHez7B4xL6s53
pCF5YRnON6ILBGp2GeFAankajlop5FhRkZfzPwIDAQABAoIBABrqfVrP+RdJWCer
tEI4dpTTctWTjxpPLFcA1vXVyyPvs5u/yPS16+ZNRX2Zg/r7tLcmxhPNShlgvyH8
HjDwf9HabXeCigN/G05s9wFT3BEVSahmduSON1JLIfnTize0jqXtX27j6fLNXbfs
mzvOZho49XOQPWSMtlSUSAaW/Cqi/9RB1AQNZcZTRFEyiyhMiQKZgA7ekAatsMoh
fPMIJuvSgAqG6PnquT/gRJTSWqm6vyN2nY23cVkmXRU/DuMsYEfj5lZH1dDxG+dX
oWi/uvsePSZz89udFm399O2tWoe3BWGi6MZ83wFD8jNE5txIjUPsGO+vofdIhZtz
oh3EFAECgYEA4tjF6y+YOjk2sv6TLxyhVl9bql5DazFaFh2L9hO90ztPTaYgTop/
9EYJZpRmaxWV4wNCedyaXbn5iQqM8g2O5f7pxWW943X1+SYjuI2YIaWIBNdM0HJ3
m/rKVzP/9iolD0sR3FBAXpmLAZCL5IEuUn9kPEd37yjXxESQhG5r4skCgYEA2YOw
UQgRvr0bC0tITmkOHSKW11hungMuQR6XK20zfDMJHZnkxLNXrTspwTmZ8apDi3nR
BD7HghywQF1xx4A3H2d5J4afqZTgRZhRLm0C517J3FxVHsIqdl9mFcbz80S+lzwl
8BmKIDPIb864VCE8xF+Y2i9L3VQ1gULg7qoo4ccCgYB0iI2sEwgtqOSbsUHlKt0K
5PPPIpuZvoGb6NPUtzGGCOrlZdkk3+t5jl0X8FZo3m7gbvVAav519armJqBfXG2z
Y2+uM2UIK7oPovMoxLyJVGL6savJTXR6kaxOfe0ZBW+CWrszJZrbvh71z869tUsZ
oE3a1ZAcMSwerGZdUehkWQKBgDghU46Vln6yLhhsBOy3D31VP7eyilkcWQNU8Y2z
UGXshZ2t6OsZnLaHXe8O/jruxR9pABcoXDOnU5RIiOQCojbobMtWYj1Qvc83zzs7
xlQOkejbqtuVH4AMfjuAa9OLGePNEb0z2gEVW9P+dHLBYP0L7lXffqRO5r/EkmcE
YihhAoGARgQ8aC2j2SEwl8v2cpv5zcA/lcdZiP2Vcz954bZOsHexxi7Nk0iWR3iL
WapnbSaoNEsXer59rWea/sCGIpYv6RHLEx/ssO7H53l18+yxwX+Er1AuZaa/S69r
PsgZJuOL9WAqdDsW7TyDQTjUzj9a5stNqPcBn2PMJgy56xUKq/4=
-----END RSA PRIVATE KEY-----
syslogdrainbinder:
cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw49CUImeJ2TxcsPRPKwZRFInfkEEJoo8ZQtURaSU7mfM/rwn
bWdj/WhQR2cDV3lwmHbtTYPqBno8Q3tGxlOanKAU5BBrFtzwgrHzppyQjocKrdbC
IMD3Ygkwy950+sZZQ2gbqH+oDCJEKjdN1XrXN/LSaoF3FrVfRqWBRA5kJQeTpH4N
FsJOFdDJlbsw3J+c1vW5vDTd4el5JPEy9ibST/4Rti2F5jWH8wmSWJ0QTBPDnKDD
wpzGjBwIWN0mNqpWA+E1kI1O4DoZSshAn2EH8oekeaaJ6B7el6rlFBmD8R+gNS1F
tV3lXXPu37Y74iAFMQoFjnLOvhJHEr210cSf4wIDAQABAoIBAQCTF1gb18cbfnOV
jO/+oLvIhbqq3iBPFL7kiabzUx2qTG0GVWOaiJ/O5P0tF7CNxQwJwbowCb6m7J4T
a9AKMKwkjsvn1umVos1MoKjRcwXQDobbxqLxm/L2zE7lqQd38GUHrHDRRmOR7Nw0
nLBwmBr1PDFEZui6LeXh727RT7nHlx6yo6cIYUrQBWaFSZJmfPD2pCMLRvEEY/0v
yuv6NwuRVdO/P7R+pLDXDDbOktOiFvy9QUz4KtY2ZgZHobHZ9LJlyqFiC7wFQkMs
la9vBniARgE1vX9D1QJJZ01ilivjiRDHaEq7EnZ9kRoO/ln3Yqlhr5OjAeQMFlMR
AkX9h2VxAoGBAPnfruRdP5JTdXmun4IA0Nn3a3ZG7dNkUIl/yfhTKCD8ITGq5MXV
aNSkOTVurkhrA38RuM6RQPypbjGRYdQrRMeKv6IrTC+sb7BhgcYe32370K8Y3TTX
hgB24larb8jPot6f7nvkTbJJpwmHE8cXm7Gkmr6n340GPJzfmJke+H3fAoGBAMha
rS+fCIyI3YwxmcyrA7nEKmAg2tTLiJ7xIY8i/ADwedqAnV8oAfScMw7IAF1EBkAt
z2xfQhm1/pIqr1GcLxOgqvbixXfmM2qsLS/Zb/T6aOJ5xejsI3d21CIg5LwxF/EO
1hm5ereMdDTFw914HcO2Wap0Kyqg8MSd1GxgIhZ9AoGAOOqKm9nhsSLxj1YHX0Vw
TTXedIKTiaM/9RH2n2nRqjHEHdwfYDDMQCNoJJOhfz1g/oC659KOSv8M6p2C+yEf
+ZPRMs9J+1H73uFW/hnqKtNBJaE0QeUV0OVDiRpjzAn/v1YOrInEaOf99F2gU6k8
/anQ1bzHXwgcpl8IE1jKoWECgYAFVORm8AR6OOosYOWG3MYsm1vFUxp/ryrjj+ck
t/mczMlxVxrY/WeP6tgw/IGF+dlwu8dZSu+nX4B2w0wHD/DwxMXH7CD1H9sea5aI
P3ELQ96mqDbsC9ylwTPD9LwhheztLUflR1pMqCAvh1O/AQNJwgCA2LaNW9sMYGbW
u3gswQKBgGsjcgS8l6cAYXOncwN6ROyosL6xkvc8zzUSH/KdPcXbAJZm/hQYeAyS
QFAzUdyCXnokknYbLcsNmVqO+FAXQ+S2lwaBxS0uHWc7oc0KYaNPdFHSW0PCGj9u
rvaEn/skAHkQTbLPPoPmuOs5qwWgYkMB6AHcSeCmBQokX7Zn7nfR
-----END RSA PRIVATE KEY-----
loggregator_endpoint:
shared_secret: loggregator-secret
metron_endpoint:
shared_secret: loggregator-secret
uaa:
url: "https://uaa.local.pcfdev.io"
catalina_opts: -Xms200m -Xmx200m -Xss1m -XX:MetaspaceSize=144m -XX:MaxMetaspaceSize=144m
port: 8085
host: 127.0.0.1
tls_port: 8443
ssl:
port: 8443
host: 127.0.0.1
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
sslCertificate: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
sslPrivateKey: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw49CUImeJ2TxcsPRPKwZRFInfkEEJoo8ZQtURaSU7mfM/rwn
bWdj/WhQR2cDV3lwmHbtTYPqBno8Q3tGxlOanKAU5BBrFtzwgrHzppyQjocKrdbC
IMD3Ygkwy950+sZZQ2gbqH+oDCJEKjdN1XrXN/LSaoF3FrVfRqWBRA5kJQeTpH4N
FsJOFdDJlbsw3J+c1vW5vDTd4el5JPEy9ibST/4Rti2F5jWH8wmSWJ0QTBPDnKDD
wpzGjBwIWN0mNqpWA+E1kI1O4DoZSshAn2EH8oekeaaJ6B7el6rlFBmD8R+gNS1F
tV3lXXPu37Y74iAFMQoFjnLOvhJHEr210cSf4wIDAQABAoIBAQCTF1gb18cbfnOV
jO/+oLvIhbqq3iBPFL7kiabzUx2qTG0GVWOaiJ/O5P0tF7CNxQwJwbowCb6m7J4T
a9AKMKwkjsvn1umVos1MoKjRcwXQDobbxqLxm/L2zE7lqQd38GUHrHDRRmOR7Nw0
nLBwmBr1PDFEZui6LeXh727RT7nHlx6yo6cIYUrQBWaFSZJmfPD2pCMLRvEEY/0v
yuv6NwuRVdO/P7R+pLDXDDbOktOiFvy9QUz4KtY2ZgZHobHZ9LJlyqFiC7wFQkMs
la9vBniARgE1vX9D1QJJZ01ilivjiRDHaEq7EnZ9kRoO/ln3Yqlhr5OjAeQMFlMR
AkX9h2VxAoGBAPnfruRdP5JTdXmun4IA0Nn3a3ZG7dNkUIl/yfhTKCD8ITGq5MXV
aNSkOTVurkhrA38RuM6RQPypbjGRYdQrRMeKv6IrTC+sb7BhgcYe32370K8Y3TTX
hgB24larb8jPot6f7nvkTbJJpwmHE8cXm7Gkmr6n340GPJzfmJke+H3fAoGBAMha
rS+fCIyI3YwxmcyrA7nEKmAg2tTLiJ7xIY8i/ADwedqAnV8oAfScMw7IAF1EBkAt
z2xfQhm1/pIqr1GcLxOgqvbixXfmM2qsLS/Zb/T6aOJ5xejsI3d21CIg5LwxF/EO
1hm5ereMdDTFw914HcO2Wap0Kyqg8MSd1GxgIhZ9AoGAOOqKm9nhsSLxj1YHX0Vw
TTXedIKTiaM/9RH2n2nRqjHEHdwfYDDMQCNoJJOhfz1g/oC659KOSv8M6p2C+yEf
+ZPRMs9J+1H73uFW/hnqKtNBJaE0QeUV0OVDiRpjzAn/v1YOrInEaOf99F2gU6k8
/anQ1bzHXwgcpl8IE1jKoWECgYAFVORm8AR6OOosYOWG3MYsm1vFUxp/ryrjj+ck
t/mczMlxVxrY/WeP6tgw/IGF+dlwu8dZSu+nX4B2w0wHD/DwxMXH7CD1H9sea5aI
P3ELQ96mqDbsC9ylwTPD9LwhheztLUflR1pMqCAvh1O/AQNJwgCA2LaNW9sMYGbW
u3gswQKBgGsjcgS8l6cAYXOncwN6ROyosL6xkvc8zzUSH/KdPcXbAJZm/hQYeAyS
QFAzUdyCXnokknYbLcsNmVqO+FAXQ+S2lwaBxS0uHWc7oc0KYaNPdFHSW0PCGj9u
rvaEn/skAHkQTbLPPoPmuOs5qwWgYkMB6AHcSeCmBQokX7Zn7nfR
-----END RSA PRIVATE KEY-----
proxy_ips_regex: ".*"
user:
authorities:
- openid
- scim.me
- cloud_controller.read
- cloud_controller.write
- cloud_controller_service_permissions.read
- password.write
- uaa.user
- approvals.me
- oauth.approvals
- notification_preferences.read
- notification_preferences.write
- profile
- roles
- user_attributes
- uaa.offline_token
clients:
cc_routing:
authorities: routing.router_groups.read
authorized-grant-types: client_credentials
secret: cc-routing-secret
cc-service-dashboards:
authorities: clients.admin,clients.read,clients.write
authorized-grant-types: client_credentials
override: true
scope: cloud_controller.read,cloud_controller.write,cloud_controller_service_permissions.read,openid
secret: cc-broker-secret
cf:
access-token-validity: 600
authorities: uaa.none
authorized-grant-types: password,refresh_token
override: true
secret: ''
refresh-token-validity: 2592000
scope: cloud_controller.admin,cloud_controller.admin_read_only,cloud_controller.global_auditor,cloud_controller.read,cloud_controller.write,doppler.firehose,network.admin,openid,password.write,routing.router_groups.read,routing.router_groups.write,scim.read,scim.write,uaa.user,network.admin,network.write
cloud_controller_username_lookup:
authorities: scim.userids
authorized-grant-types: client_credentials
secret: cloud-controller-username-lookup-secret
doppler:
authorities: uaa.resource
secret: loggregator-secret
authorized-grant-types: client_credentials
scope: uaa.none
override: true
gorouter:
authorities: clients.admin,clients.read,clients.write,routing.routes.read,routing.routes.write
authorized-grant-types: client_credentials,refresh_token
scope: cloud_controller_service_permissions.read,openid
secret: gorouter-secret
login:
authorities: clients.read,critical_notifications.write,emails.write,notifications.write,oauth.login,password.write,scim.userids,scim.write
authorized-grant-types: client_credentials,refresh_token
autoapprove: true
override: true
redirect-uri: "https://login.local.pcfdev.io"
scope: oauth.approvals,openid
secret: login-secret
notifications:
authorities: cloud_controller.admin,critical_notifications.write,emails.write,notifications.write,scim.read
authorized-grant-types: client_credentials
secret: notifications-secret
ssh-proxy:
authorized-grant-types: authorization_code
autoapprove: true
override: true
redirect-uri: "https://uaa.local.pcfdev.io/login"
scope: cloud_controller.admin,cloud_controller.read,cloud_controller.write,openid
secret: ssh-proxy-secret
tcp_emitter:
access-token-validity: 1209600
authorities: routing.router_groups.read,routing.routes.read,routing.routes.write
authorized-grant-types: client_credentials,refresh_token
override: true
scope: routing.router_groups.read,routing.routes.read,routing.routes.write
secret: tcp-emitter-secret
tcp_router:
access-token-validity: 1209600
authorities: routing.router_groups.read,routing.routes.read
authorized-grant-types: client_credentials,refresh_token
override: true
scope: routing.router_groups.read,routing.routes.read
secret: tcp-router-secret
network-policy:
authorities: uaa.resource,cloud_controller.admin_read_only
authorized-grant-types: client_credentials
secret: network-policy-secret
admin:
client_secret: admin-client-secret
cc:
client_secret: cc-client-secret
scim:
user:
override: true
users:
- name: admin
password: admin
groups:
- clients.read
- clients.write
- cloud_controller.admin
- cloud_controller.user
- doppler.firehose
- openid
- routing.router_groups.read
- routing.router_groups.write
- scim.read
- scim.write
- network.admin
- network.write
require_https: true
jwt:
policy:
active_key_id: key-1
keys:
key-1:
signingKey: |
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDHFr+KICms+tuT1OXJwhCUmR2dKVy7psa8xzElSyzqx7oJyfJ1
JZyOzToj9T5SfTIq396agbHJWVfYphNahvZ/7uMXqHxf+ZH9BL1gk9Y6kCnbM5R6
0gfwjyW1/dQPjOzn9N394zd2FJoFHwdq9Qs0wBugspULZVNRxq7veq/fzwIDAQAB
AoGBAJ8dRTQFhIllbHx4GLbpTQsWXJ6w4hZvskJKCLM/o8R4n+0W45pQ1xEiYKdA
Z/DRcnjltylRImBD8XuLL8iYOQSZXNMb1h3g5/UGbUXLmCgQLOUUlnYt34QOQm+0
KvUqfMSFBbKMsYBAoQmNdTHBaz3dZa8ON9hh/f5TT8u0OWNRAkEA5opzsIXv+52J
duc1VGyX3SwlxiE2dStW8wZqGiuLH142n6MKnkLU4ctNLiclw6BZePXFZYIK+AkE
xQ+k16je5QJBAN0TIKMPWIbbHVr5rkdUqOyezlFFWYOwnMmw/BKa1d3zp54VP/P8
+5aQ2d4sMoKEOfdWH7UqMe3FszfYFvSu5KMCQFMYeFaaEEP7Jn8rGzfQ5HQd44ek
lQJqmq6CE2BXbY/i34FuvPcKU70HEEygY6Y9d8J3o6zQ0K9SYNu+pcXt4lkCQA3h
jJQQe5uEGJTExqed7jllQ0khFJzLMx0K6tj0NeeIzAaGCQz13oo2sCdeGRHO4aDh
HH6Qlq/6UOV5wP8+GAcCQFgRCcB+hrje8hfEEefHcFpyKH+5g1Eu1k0mLrxK2zd+
4SlotYRHgPCEubokb2S1zfZDWIXW3HmggnGgM949TlY=
-----END RSA PRIVATE KEY-----
zones:
internal:
hostnames:
- uaa.service.cf.internal
route_registrar:
routes:
- name: policy-server
port: 4002
registration_interval: 20s
uris:
- "api.local.pcfdev.io/networking"
- name: doppler
port: 8081
registration_interval: 20s
uris:
- doppler.local.pcfdev.io
- name: cf-mysql-broker
port: 19284
registration_interval: 20s
uris:
- mysql-broker.local.pcfdev.io
- name: loggregator
port: 8084
registration_interval: 20s
uris:
- loggregator.local.pcfdev.io
- name: api
port: 9022
registration_interval: 20s
uris:
- api.local.pcfdev.io
- name: uaa
port: 8085
registration_interval: 20s
uris:
- "uaa.local.pcfdev.io"
- "*.uaa.local.pcfdev.io"
- "login.local.pcfdev.io"
- "*.login.local.pcfdev.io"
- name: blobstore
port: 8086
registration_interval: 20s
uris:
- blobstore.local.pcfdev.io
- name: localbroker
port: 8999
registration_interval: 20s
tags:
component: localbroker
uris:
- localbroker.local.pcfdev.io
uaadb:
address: 127.0.0.1
databases:
- {name: uaadb, tag: uaa}
db_scheme: mysql
port: 3306
roles:
- {name: uaaadmin, password: admin, tag: admin}
app_ssh:
host_key_fingerprint: a6:d1:08:0b:b0:cb:9b:5f:c4:ba:44:2a:97:26:19:8a
cc:
default_app_disk_in_mb: 512
default_app_memory: 256
default_to_diego_backend: true
diego:
stager_url: http://stager.service.cf.internal:8890
srv_api_uri: http://api.local.pcfdev.io
bulk_api_password: bulk-api-password
internal_api_password: internal-api-password
nginx:
ip: 127.0.0.1
db_encryption_key: db-encryption-key
db_logging_level: info
quota_definitions:
default:
memory_limit: 102400
non_basic_services_allowed: true
total_routes: 1000
total_services: -1
security_group_definitions:
- name: public_networks
rules:
- {destination: 0.0.0.0-9.255.255.255, protocol: all}
- {destination: 11.0.0.0-169.253.255.255, protocol: all}
- {destination: 169.255.0.0-172.15.255.255, protocol: all}
- {destination: 172.32.0.0-192.167.255.255, protocol: all}
- {destination: 192.169.0.0-255.255.255.255, protocol: all}
- name: dns
rules:
- {destination: 0.0.0.0/0, ports: '53', protocol: tcp}
- {destination: 0.0.0.0/0, ports: '53', protocol: udp}
- name: all_pcfdev
rules:
- {destination: 0.0.0.0/0, protocol: all}
staging_upload_user: staging-user
staging_upload_password: staging-pass
default_running_security_groups: [public_networks, dns, all_pcfdev]
default_staging_security_groups: [public_networks, dns, all_pcfdev]
external_protocol: http
install_buildpacks:
- {name: java_buildpack, package: java-offline-buildpack}
- {name: ruby_buildpack, package: ruby-buildpack}
- {name: nodejs_buildpack, package: nodejs-buildpack}
- {name: go_buildpack, package: go-buildpack}
- {name: python_buildpack, package: python-buildpack}
- {name: php_buildpack, package: php-buildpack}
- {name: staticfile_buildpack, package: staticfile-buildpack}
- {name: binary_buildpack, package: binary-buildpack}
buildpacks:
blobstore_type: webdav
webdav_config:
ca_cert: ""
username: admin
password: admin
public_endpoint: http://blobstore.local.pcfdev.io
private_endpoint: https://blobstore.service.cf.internal:4043
droplets:
blobstore_type: webdav
webdav_config:
ca_cert: ""
username: admin
password: admin
public_endpoint: http://blobstore.local.pcfdev.io
private_endpoint: https://blobstore.service.cf.internal:4043
packages:
blobstore_type: webdav
webdav_config:
ca_cert: ""
username: admin
password: admin
public_endpoint: http://blobstore.local.pcfdev.io
private_endpoint: https://blobstore.service.cf.internal:4043
resource_pool:
blobstore_type: webdav
webdav_config:
ca_cert: ""
username: admin
password: admin
public_endpoint: http://blobstore.local.pcfdev.io
private_endpoint: https://blobstore.service.cf.internal:4043
volume_services_enabled: true
mutual_tls:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
public_cert: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
private_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw49CUImeJ2TxcsPRPKwZRFInfkEEJoo8ZQtURaSU7mfM/rwn
bWdj/WhQR2cDV3lwmHbtTYPqBno8Q3tGxlOanKAU5BBrFtzwgrHzppyQjocKrdbC
IMD3Ygkwy950+sZZQ2gbqH+oDCJEKjdN1XrXN/LSaoF3FrVfRqWBRA5kJQeTpH4N
FsJOFdDJlbsw3J+c1vW5vDTd4el5JPEy9ibST/4Rti2F5jWH8wmSWJ0QTBPDnKDD
wpzGjBwIWN0mNqpWA+E1kI1O4DoZSshAn2EH8oekeaaJ6B7el6rlFBmD8R+gNS1F
tV3lXXPu37Y74iAFMQoFjnLOvhJHEr210cSf4wIDAQABAoIBAQCTF1gb18cbfnOV
jO/+oLvIhbqq3iBPFL7kiabzUx2qTG0GVWOaiJ/O5P0tF7CNxQwJwbowCb6m7J4T
a9AKMKwkjsvn1umVos1MoKjRcwXQDobbxqLxm/L2zE7lqQd38GUHrHDRRmOR7Nw0
nLBwmBr1PDFEZui6LeXh727RT7nHlx6yo6cIYUrQBWaFSZJmfPD2pCMLRvEEY/0v
yuv6NwuRVdO/P7R+pLDXDDbOktOiFvy9QUz4KtY2ZgZHobHZ9LJlyqFiC7wFQkMs
la9vBniARgE1vX9D1QJJZ01ilivjiRDHaEq7EnZ9kRoO/ln3Yqlhr5OjAeQMFlMR
AkX9h2VxAoGBAPnfruRdP5JTdXmun4IA0Nn3a3ZG7dNkUIl/yfhTKCD8ITGq5MXV
aNSkOTVurkhrA38RuM6RQPypbjGRYdQrRMeKv6IrTC+sb7BhgcYe32370K8Y3TTX
hgB24larb8jPot6f7nvkTbJJpwmHE8cXm7Gkmr6n340GPJzfmJke+H3fAoGBAMha
rS+fCIyI3YwxmcyrA7nEKmAg2tTLiJ7xIY8i/ADwedqAnV8oAfScMw7IAF1EBkAt
z2xfQhm1/pIqr1GcLxOgqvbixXfmM2qsLS/Zb/T6aOJ5xejsI3d21CIg5LwxF/EO
1hm5ereMdDTFw914HcO2Wap0Kyqg8MSd1GxgIhZ9AoGAOOqKm9nhsSLxj1YHX0Vw
TTXedIKTiaM/9RH2n2nRqjHEHdwfYDDMQCNoJJOhfz1g/oC659KOSv8M6p2C+yEf
+ZPRMs9J+1H73uFW/hnqKtNBJaE0QeUV0OVDiRpjzAn/v1YOrInEaOf99F2gU6k8
/anQ1bzHXwgcpl8IE1jKoWECgYAFVORm8AR6OOosYOWG3MYsm1vFUxp/ryrjj+ck
t/mczMlxVxrY/WeP6tgw/IGF+dlwu8dZSu+nX4B2w0wHD/DwxMXH7CD1H9sea5aI
P3ELQ96mqDbsC9ylwTPD9LwhheztLUflR1pMqCAvh1O/AQNJwgCA2LaNW9sMYGbW
u3gswQKBgGsjcgS8l6cAYXOncwN6ROyosL6xkvc8zzUSH/KdPcXbAJZm/hQYeAyS
QFAzUdyCXnokknYbLcsNmVqO+FAXQ+S2lwaBxS0uHWc7oc0KYaNPdFHSW0PCGj9u
rvaEn/skAHkQTbLPPoPmuOs5qwWgYkMB6AHcSeCmBQokX7Zn7nfR
-----END RSA PRIVATE KEY-----
ccdb:
address: 127.0.0.1
databases:
- {name: ccdb, tag: cc}
db_scheme: mysql
port: 3306
roles:
- {name: ccadmin, password: admin, tag: admin}
login:
url: "https://login.local.pcfdev.io"
protocol: https
logout:
redirect:
parameter:
disable: false
links: {}
saml:
serviceProviderCertificate: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
serviceProviderKey: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw49CUImeJ2TxcsPRPKwZRFInfkEEJoo8ZQtURaSU7mfM/rwn
bWdj/WhQR2cDV3lwmHbtTYPqBno8Q3tGxlOanKAU5BBrFtzwgrHzppyQjocKrdbC
IMD3Ygkwy950+sZZQ2gbqH+oDCJEKjdN1XrXN/LSaoF3FrVfRqWBRA5kJQeTpH4N
FsJOFdDJlbsw3J+c1vW5vDTd4el5JPEy9ibST/4Rti2F5jWH8wmSWJ0QTBPDnKDD
wpzGjBwIWN0mNqpWA+E1kI1O4DoZSshAn2EH8oekeaaJ6B7el6rlFBmD8R+gNS1F
tV3lXXPu37Y74iAFMQoFjnLOvhJHEr210cSf4wIDAQABAoIBAQCTF1gb18cbfnOV
jO/+oLvIhbqq3iBPFL7kiabzUx2qTG0GVWOaiJ/O5P0tF7CNxQwJwbowCb6m7J4T
a9AKMKwkjsvn1umVos1MoKjRcwXQDobbxqLxm/L2zE7lqQd38GUHrHDRRmOR7Nw0
nLBwmBr1PDFEZui6LeXh727RT7nHlx6yo6cIYUrQBWaFSZJmfPD2pCMLRvEEY/0v
yuv6NwuRVdO/P7R+pLDXDDbOktOiFvy9QUz4KtY2ZgZHobHZ9LJlyqFiC7wFQkMs
la9vBniARgE1vX9D1QJJZ01ilivjiRDHaEq7EnZ9kRoO/ln3Yqlhr5OjAeQMFlMR
AkX9h2VxAoGBAPnfruRdP5JTdXmun4IA0Nn3a3ZG7dNkUIl/yfhTKCD8ITGq5MXV
aNSkOTVurkhrA38RuM6RQPypbjGRYdQrRMeKv6IrTC+sb7BhgcYe32370K8Y3TTX
hgB24larb8jPot6f7nvkTbJJpwmHE8cXm7Gkmr6n340GPJzfmJke+H3fAoGBAMha
rS+fCIyI3YwxmcyrA7nEKmAg2tTLiJ7xIY8i/ADwedqAnV8oAfScMw7IAF1EBkAt
z2xfQhm1/pIqr1GcLxOgqvbixXfmM2qsLS/Zb/T6aOJ5xejsI3d21CIg5LwxF/EO
1hm5ereMdDTFw914HcO2Wap0Kyqg8MSd1GxgIhZ9AoGAOOqKm9nhsSLxj1YHX0Vw
TTXedIKTiaM/9RH2n2nRqjHEHdwfYDDMQCNoJJOhfz1g/oC659KOSv8M6p2C+yEf
+ZPRMs9J+1H73uFW/hnqKtNBJaE0QeUV0OVDiRpjzAn/v1YOrInEaOf99F2gU6k8
/anQ1bzHXwgcpl8IE1jKoWECgYAFVORm8AR6OOosYOWG3MYsm1vFUxp/ryrjj+ck
t/mczMlxVxrY/WeP6tgw/IGF+dlwu8dZSu+nX4B2w0wHD/DwxMXH7CD1H9sea5aI
P3ELQ96mqDbsC9ylwTPD9LwhheztLUflR1pMqCAvh1O/AQNJwgCA2LaNW9sMYGbW
u3gswQKBgGsjcgS8l6cAYXOncwN6ROyosL6xkvc8zzUSH/KdPcXbAJZm/hQYeAyS
QFAzUdyCXnokknYbLcsNmVqO+FAXQ+S2lwaBxS0uHWc7oc0KYaNPdFHSW0PCGj9u
rvaEn/skAHkQTbLPPoPmuOs5qwWgYkMB6AHcSeCmBQokX7Zn7nfR
-----END RSA PRIVATE KEY-----
hm9000:
port: "some-port"
url: "some-url"
router:
debug_address: 127.0.0.1:17003
enable_ssl: true
ssl_cert: |
-----BEGIN CERTIFICATE-----
MIIGqTCCBRGgAwIBAgIJALiQgFdICQWiMA0GCSqGSIb3DQEBCwUAMIHOMQswCQYD
VQQGEwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAw
DgYDVQQKEwdQaXZvdGFsMRYwFAYDVQQLEw1DbG91ZCBGb3VuZHJ5MUkwRwYDVQQD
FEAqLmxvY2FsLnBjZmRldi5pbywqLmxvZ2luLmxvY2FsLnBjZmRldi5pbywgKi51
YWEubG9jYWwucGNmZGV2LmlvMSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYtZW5nQHBp
dm90YWwuaW8wHhcNMTYwNDA2MjE1MTU1WhcNMTgwNDA2MjE1MTU1WjCBzjELMAkG
A1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEQ
MA4GA1UEChMHUGl2b3RhbDEWMBQGA1UECxMNQ2xvdWQgRm91bmRyeTFJMEcGA1UE
AxRAKi5sb2NhbC5wY2ZkZXYuaW8sKi5sb2dpbi5sb2NhbC5wY2ZkZXYuaW8sICou
dWFhLmxvY2FsLnBjZmRldi5pbzEkMCIGCSqGSIb3DQEJARYVcGNmZGV2LWVuZ0Bw
aXZvdGFsLmlvMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyFt7kzng
mcjaAghcnWzTjqmxBqDxxVeDORdUEncsDP1zW8rvP5HXIdkch8sqPFSL1aKcCwj2
ytIQLqKr3o0Gx8MIhxQfpGwNtg4nrNpKLim6agE8CuDMu9w9s3/fIhbQXKJE2Yz5
yNMo9UBtcNjX77EGUjjKD1GRgiQKeugfE+XQcc5IcniVZcSzJi8279951pXk1sDB
j9kczsP91z34UZnTCrtYXyk5iV7IYeTXB+UuNItIWm+gIYf6084Pz2ADtgMBswv6
LcCGZJBGluMCklrXg7Pn1CfaQOCPYj2fyt5YqQDGB5F8moWatw14ZxnsDBi2xqQK
ryJYa2vYdKiVIWewD4iRpS5HHVjETYNlu2W5ypfRfGXvc0110IhHS83+bcJoUFUn
u9bHo9qqshx/Bq6ew0iR12negzVHMI5R8+EupW2smmJu3n8d0L3NZA5eEfJgpvGd
DALuv0+dI0KLBAPMrgGq7B47l0ygvO+MOWudmzSzvsXvDxqs8q/8EqHvAgMBAAGj
ggGGMIIBgjBMBgNVHREERTBDghEqLmxvY2FsLnBjZmRldi5pb4IVKi51YWEubG9j
YWwucGNmZGV2LmlvghcqLmxvZ2luLmxvY2FsLnBjZmRldi5pbzAdBgNVHQ4EFgQU
5ir0R2vhcWqdd7Bm3HnflLQMIOQwggEDBgNVHSMEgfswgfiAFOYq9Edr4XFqnXew
Ztx535S0DCDkoYHUpIHRMIHOMQswCQYDVQQGEwJVUzERMA8GA1UECBMITmV3IFlv
cmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQaXZvdGFsMRYwFAYDVQQL
Ew1DbG91ZCBGb3VuZHJ5MUkwRwYDVQQDFEAqLmxvY2FsLnBjZmRldi5pbywqLmxv
Z2luLmxvY2FsLnBjZmRldi5pbywgKi51YWEubG9jYWwucGNmZGV2LmlvMSQwIgYJ
KoZIhvcNAQkBFhVwY2ZkZXYtZW5nQHBpdm90YWwuaW+CCQC4kIBXSAkFojAMBgNV
HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBgQBB9E/Mc/Zq/RJlLiu20EU62xjw
WWYAPCGIvo64GvkC8N+mMZL8qHaSsYGKrvEPl30kIRaXfO2RT5Mhx8CyYhFVrWCq
oRMVY2Li0h2vMYhRIlAjxzn6ZVUbd50t6hEmXioh6LxbrUUg/AXfbMuv2sW94xjx
vjUul7ZO8JfC7Uk2g5rngC7yz4mXI1sXlIq0xpRAxdBMreH9uG48xlO6cE/5Xzim
AmjvPWaCBIgiiJmW9lpt3oB+vttHtNHY+mnYtx9iE/R9mCL513uhsTtqOKLPN1Vb
D9iouxOW4gXN7NnhNSKyzBVFh+SInj3moxcTQAgKbXOq6oaJEz61VedGVyh0ncpi
pbtzQcoxSC88pMTZgm8ZFT5aL+f3Pod7MMAeuY3R24+JtlOlW5VYvwRfl050u5rF
LgeP1t+Kpxpd0OxjShWhGoYD4MqJyfqPXjYSd5uSRRTxgZFuSrO+VjXcJfkBqfss
RaK+wxioZDzc5z3vDJjaZGFdtki6f2hwsF1UPVw=
-----END CERTIFICATE-----
ssl_key: |
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
ssl_skip_validation: true
route_services_secret: route-services-secret
status:
port: 8087
user: ""
password: ""
blobstore:
internal_access_rules:
- "allow 127.0.0.1;"
port: 127.0.0.1:8086
tls:
port: 127.0.0.1:4043
cert: |
-----BEGIN CERTIFICATE-----
MIIC0TCCAjoCCQDRLH9gxoogFzANBgkqhkiG9w0BAQUFADCBrDELMAkGA1UEBhMC
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEeMBwGA1UE
ChMVUGl2b3RhbCBTb2Z0d2FyZSwgSW5jMRUwEwYDVQQLEwxDbG91ZEZvdW5kcnkx
GjAYBgNVBAMUESoubG9jYWwucGNmZGV2LmlvMSQwIgYJKoZIhvcNAQkBFhVwY2Zk
ZXYtZW5nQHBpdm90YWwuaW8wHhcNMTYwMzA5MTUxMzE4WhcNMTcwMzA5MTUxMzE4
WjCBrDELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhO
ZXcgWW9yazEeMBwGA1UEChMVUGl2b3RhbCBTb2Z0d2FyZSwgSW5jMRUwEwYDVQQL
EwxDbG91ZEZvdW5kcnkxGjAYBgNVBAMUESoubG9jYWwucGNmZGV2LmlvMSQwIgYJ
KoZIhvcNAQkBFhVwY2ZkZXYtZW5nQHBpdm90YWwuaW8wgZ8wDQYJKoZIhvcNAQEB
BQADgY0AMIGJAoGBAKpQpDfxV0enkW9q37vz6GAqGzQI4kJaOq0Vu0aNJE0QguZV
y2JZaBGdYE25hviPesDhrFASUeMek//1FgpntnRU52AsweHJ67KayFEppk8qC5yd
XOm177O4QKbMmA6BC3BMnF1nLnKqTS71cbGfzvqaAmNlr22BJP7krQleXiFzAgMB
AAEwDQYJKoZIhvcNAQEFBQADgYEAKor/gSMkfVFPfmTLuCvH3YrvSFRPjTxXHeMR
8C6hmkOHxw2tgxc5WI0+ZLCgVCS87ZiLoTFWAmeeUb6S2nIHr+WhTHr11Y+0EjZa
WWv8728elfnHAiWfmKgn80LEOVLU8dDciykSRGOdDYnTAXLgtZOxfLeReR232JuH
TkCCeJc=
-----END CERTIFICATE-----
private_key: |
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQCqUKQ38VdHp5Fvat+78+hgKhs0COJCWjqtFbtGjSRNEILmVcti
WWgRnWBNuYb4j3rA4axQElHjHpP/9RYKZ7Z0VOdgLMHhyeuymshRKaZPKgucnVzp
te+zuECmzJgOgQtwTJxdZy5yqk0u9XGxn876mgJjZa9tgST+5K0JXl4hcwIDAQAB
AoGAFMLx0dP8tMJriy53CZ1pBVf8qvIuSrJfFrxgcPBBrZdGrbdlrJ6Dfio2FCN6
nZA4AY1BCR3Cl7IhjoEc57XO2tpv7Ct5YZU3R/UGMZBTQJGTMdYLsXKVQPJFZZfr
nFvnL+dks1xmiLOPbSw45qvsC+KrQVFGV6ZqD6ZxjPKtlwECQQDiUcWMmL5k07XM
lvXHp/ZrfFdwBjlAcHDYNbQM0zid6C4m6YD1WI6zU/oCCS+gCT4cauoad2hcsUoN
zj1phOzzAkEAwKahynDyef2kSjsD8zDqY+HuRBKtDa8WB1mOgU737wIx8kfXgbNg
MlChsARn0yThm1L2yx4ZTk+PAtxAr4UZgQJBALRQgDuXisIcZ1E8yU+sg8l5hNSt
MLolm9K3Xt+E/ivZS8QW8HcJepBoDN3IYdh45LKRgDlb/5syaZT8R7Olg38CQQC3
EKDFgjan/YJUl2fVfDH+3/5N6YFQc4P3T/6+mY+4KtnTZLlAondS2JQMcuNGHNHV
iyzBLsTVSXyYNzuwjkYBAkEAq/pT9lmw42qc6AQk/LcfZFYXKV21m5LCDa95/7X2
TVeavLJv6412vDf+E6r/5jG634SsMkRDGeUsW9gUvPnaXg==
-----END RSA PRIVATE KEY-----
admin_users:
- username: admin
password: admin
secure_link:
secret: secure-link-secret
# For Garden:
garden:
network_plugin: /var/vcap/packages/runc-cni/bin/garden-external-networker
network_plugin_extra_args:
- "--configFile=/var/vcap/jobs/garden-cni/config/adapter.json"
debug_listen_address: 127.0.0.1:17013
allow_host_access: true
graph_cleanup_threshold_in_mb: 15000
insecure_docker_registry_list:
- host.pcfdev.io:5000
deny_networks:
- 0.0.0.0/0
# For CF Networking
cf_networking:
vxlan_policy_agent:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE9jCCAt6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBjZi1u
ZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQzNVoXDTI3MDUyNTE4MjQ0MVowGzEZ
MBcGA1UEAxMQY2YtbmV0d29ya2luZy1jYTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAMQr/nlMLZYXNEpe1DCnkRoTmERogDJM8/PGAMQrwy9S+m/EV2Ju
0BryTq0JtOpdJPy52p49efc36K6N69z5ednssJNmiSMCF1Ia2EqCnuE0at5NK75b
yB5fOY7LW9ZCHjttbqs+xQIFzPLJNJlLeIsKoBqbTnkopMOwy/Z7VcHt7+vAG3H+
KU7zyheleD5g6INFJK8TolhrHDdkRB7KxSssqEzhLXUtrBD2pzXSayboTnIA1Y37
Dnlv0nqVTR7YDbYZMkbr4CCd08fgChp+vE2WwPyFyL1EF71exQNNoKbs91ad+pvx
jMGLj/ii8p13X30VBSWdsKbRKJvk7Q/vWx7tJkKfa4mMyPwXjWlWTjccCbflDqgz
/CsMkOYK4vZySFfETyzcz2J++kejxnugEmD6AmUV+6GdyHWPdi3CKsnVwJFVm2cI
ZiCshFjwKjp6yws4n3JcqmzFdOGY8Ij2YG4qjKCLrvaZIqyDwQ9fRXKTVNF3bmlm
8BAAsUhCbbtnnAFOPnadliClhJiXHM0NIB38GCZa0tuno2vAncGrfDaX4pNQL0t9
gS47wgxKEfK3WNe37JcOtwk8oET4PeTugiVWmcvxCEDwOXCvNBQOjv8HWb2LBYJz
njW4q7yNmXtfsS9InwBq3mRxRgU6UjjppT8hQDubpUCFARj/pQa/+PdfAgMBAAGj
RTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
BBTKGOy47aC2jl6GVjNI/yaqpAlJEDANBgkqhkiG9w0BAQsFAAOCAgEAHXT0ch9V
W9BJisT+rxBLsqiNrry6bxTFVbktG/kU0B4oRgYosAl5Y5rWHByFavZNuQ9LP4gA
OVuRxs4vrvX+ym6/m5OCs7zVvunpXh1CzfpifXLTzQn5YNXxBSCBSxTF4vInES1k
wg6uwnVFLO+7kTorPfizp3lO3ydI8DpdUr3KWiAP9QthSJav8TAVopgBqdVzQFNs
rLD6Rr//4oK0i1c2escErwXbAWR1d2PIDl/z9h1PtSfXWOSb36g5JshFwzvWInXQ
65EQJvnxBoETHkGmwINE4Y1iy++duXQCF28gPD0GtesNqrTbJ91e3CHjI1thpre1
R0E+nlF5AXY865ARKGDJwdsQ2oGqLRCUZqaUHatZXON6+o5lOgzJ5W6vqciolX+y
3NrGZMWTBFnWziaXTAh7QspB8ZJwKEudIEPYBBqA0BEA/0SAxsINIFpeTipofmIV
z6Gn/tv+77dzW3GoAiaDuRCCpR2HvQJEo3YQCcAKWOvYD3a3LonOD9VwPT6jlKRj
nCYJNHYd7d92e7ykfsDq29PTtxzCAtZ2Nr/IqhZZmrI8aZftZ0GLq2BRcBnBeR4P
pBiWkZMn4//XACyFzIBtLgkqua+JXgReL3qzYqToXk5AUv48Z7rfz0YAJ6azFeSb
9MkVxlFa6Wls0/oHBMciwq787gURtJwPRHE=
-----END CERTIFICATE-----
client_cert: |
-----BEGIN CERTIFICATE-----
MIIELTCCAhWgAwIBAgIQDaq/r8ootJP528H2AH8F5DANBgkqhkiG9w0BAQsFADAb
MRkwFwYDVQQDExBjZi1uZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQ0MloXDTE5
MDUyNTE4MjQ0MlowFzEVMBMGA1UEAxMMcG9saWN5LWFnZW50MIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7BzjXP0OSXau0Svr79jJ2Ru+JtiidfOnIxYW
z6C5LgbbbkzdC9A4XlJvGzK8/Ez+HFKFceGZObpkiF3OVEVa9bcr9mV/wqtX+jb9
uvlcuiyNGTV5RXjlPXPS6/RSsaC/1Q24XNeQJwDNOC7EnDSzuJTp2Uyc+ySv6+9Q
21qZqNNYNA4185QRE5JM5RNxfak0miPfLumCCYLMMc3WIZo1A6He7kpPHxJ7t0uD
lRmfdF39dazalGJEKTKitpXRVZFdylNcIgcSD9rj70f6//uxNtjJDwlUpVexgS+C
8rOAtUP2B1lGvDLw4e2M+p42wSTTjuo+yp+TwS0CAKX4N8I50wIDAQABo3EwbzAO
BgNVHQ8BAf8EBAMCA7gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0G
A1UdDgQWBBSHckyXbkJHuPWB6/xfPiUSYCSgKjAfBgNVHSMEGDAWgBTKGOy47aC2
jl6GVjNI/yaqpAlJEDANBgkqhkiG9w0BAQsFAAOCAgEAcHq3+6mfiS5mCSWuKdAm
hI157+AY0kSUxtqcNYz7clawX3VwuAL7d9VqDoe/okilP/xXsBoqWgc4TXZURQtC
+yeUiMKQYitfvtzSI77+ZrCx1GE4rNUDzq7o411e1tumxxdVOtw3Rybf476rJsyP
yIm0DeTx5cV1/MltYP2K/2rh9ATJIzRwc0clBhdINtSqr4cG1ChBbDZveyBoOSIC
5vrs2G9mnW7CYI1cydVeJsweJzajnFLqjOKTJuOG5Tc277wTwEmiDUfKrAJHM0TX
/yC/VFSGooFGmT5bv7zNPzdH7SmMMwFFRkud6FkNynOhfIWaqzzclpc3BYUoo0r1
8L0FhgZx9kmmdHnMdzmmMMxKsvOLApObpcQibVT0EmSIjoWcoPH+ikoxwoLzTfgI
84nC3yqWUL01mew6iZIipLwws+rx5AZe0G7HE5uu0BSaKGcmSEaIFJvpqsDTsY26
IUlwkf5XsiLVMitbiSoI3ZZUHYGUjBLRNpvOTO3+TA12kmiouXqkHTj5M/Fb2f0v
tqgEdklDywcgqoCSc3/+Lff9HR/OYTDeIJDrNrWleMGpmaj4hWu02aMKHQYoG/m8
/VlB1Uv0Csov4oWCejipytcoy7unj0NvFmGld9vJBF95o4OmfTQ7ir3M+1lcIxMn
phiarcHdb/G3/1wiX453KBI=
-----END CERTIFICATE-----
client_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA7BzjXP0OSXau0Svr79jJ2Ru+JtiidfOnIxYWz6C5Lgbbbkzd
C9A4XlJvGzK8/Ez+HFKFceGZObpkiF3OVEVa9bcr9mV/wqtX+jb9uvlcuiyNGTV5
RXjlPXPS6/RSsaC/1Q24XNeQJwDNOC7EnDSzuJTp2Uyc+ySv6+9Q21qZqNNYNA41
85QRE5JM5RNxfak0miPfLumCCYLMMc3WIZo1A6He7kpPHxJ7t0uDlRmfdF39daza
lGJEKTKitpXRVZFdylNcIgcSD9rj70f6//uxNtjJDwlUpVexgS+C8rOAtUP2B1lG
vDLw4e2M+p42wSTTjuo+yp+TwS0CAKX4N8I50wIDAQABAoIBAQCKsAFA2ods0WCo
DrN8Y4tUkn4j1TXAMMkoy83EUXTUO0TiyhVA3iJuDN+kSy5EyHiubC5kEQ5uoTRy
AR+z0jU2hUw2Y7Iix4BawbhR/izgUlDi0M0V6IhGi2UGIbH9Eh376B41sozCzC6+
5IGp+y7hqd6eO+ktf4QyApUs80+0oKaobBSPJ/vafE1c4QSFgl+zZ5HvoZdHnW48
L/0YNNUK3O+d2dcbESNn/OoiUKfNLxnf7AnJBgF4xAwoJmxwLbC8vloxFuM+gU14
y23TcCHAE3kjmgO53yAanyj2UE4ZgV+TxKaxAZMDgSykZI0DsgHeHe5J4yzqflZP
/6etCsQBAoGBAPWJIyRwBeMafavq3vw80VimBJA00j4R2/xDTo8wcq1X7X3moCDr
xcDucarzI0kwmU3dSjv0Krjk73Qhm8bJ3UbbFQ7z4N3TZ1z9mlMnUlSVregz0TWk
bl6S1eZTolHHoh7/swfltR7dBycAiVHfz99Cz4RfKTrOsgFCRUmxVc/TAoGBAPYs
8elfIpy/xk9ssUXyYnmQrgovjhr8xjISRhp1Gg/Gqirx9krevZm+1xsDecp92GPe
fgwMTeYTrCmqhrWSaaXMV6p0B3br///v+f74v8dIyN9pqL2E0cTgpGcjHl/lIUwj
o309NXxiQSO5QrzpKLToF9pE0/9AVTYF39RQSa4BAoGAAzQJ0FThzseusgp7ZEEK
3iQ0VQlLYOHsw8rBAJ86L8bA426Z0jQhPVYfB4Lqh+7pYRms+UFDOWxLL3GszZge
mekLykkmOt6iL5VjaQhPS6k0Pp5GcXO2uOcjgUDAEl8PX2YomMbHaSKrEDgykm3g
EWKWwHxZVloR+nA55S86Fl8CgYEAyWDM59ZOLyHl7NUCUzDLg5xp8qUiP0tmKlGu
jTgcAKnITGcwzeBWA24M8ukt+QpnOJMqU1rBYqPXIyJ/HgtOZzW4xRQzgwHdohVC
UWRVJYWR5Mi/I4GCQ+ZsNn6Q+2spiOpidDHdDgomNT34rSaiiRKPaJsDPPv4eL/n
cPvYugECgYEAtdYzx5qDUjBkQyRc1vhXX5guGEisrNyR0+zFcrXvJhkemDDhD9fh
rx9VITqD/1mBlUmqHiLeCzcLWybLFKuwgWwsWbgnPZ5wrlsq5BWdIxpSFhA3bLYT
sN1syGAcMN4lHtB9A4u/6Z0t/mko4uT2V5CVHhw+5mFrKW0bVPHAmAA=
-----END RSA PRIVATE KEY-----
silk_daemon:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE9jCCAt6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBjZi1u
ZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQzNVoXDTI3MDUyNTE4MjQ0MVowGzEZ
MBcGA1UEAxMQY2YtbmV0d29ya2luZy1jYTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAMQr/nlMLZYXNEpe1DCnkRoTmERogDJM8/PGAMQrwy9S+m/EV2Ju
0BryTq0JtOpdJPy52p49efc36K6N69z5ednssJNmiSMCF1Ia2EqCnuE0at5NK75b
yB5fOY7LW9ZCHjttbqs+xQIFzPLJNJlLeIsKoBqbTnkopMOwy/Z7VcHt7+vAG3H+
KU7zyheleD5g6INFJK8TolhrHDdkRB7KxSssqEzhLXUtrBD2pzXSayboTnIA1Y37
Dnlv0nqVTR7YDbYZMkbr4CCd08fgChp+vE2WwPyFyL1EF71exQNNoKbs91ad+pvx
jMGLj/ii8p13X30VBSWdsKbRKJvk7Q/vWx7tJkKfa4mMyPwXjWlWTjccCbflDqgz
/CsMkOYK4vZySFfETyzcz2J++kejxnugEmD6AmUV+6GdyHWPdi3CKsnVwJFVm2cI
ZiCshFjwKjp6yws4n3JcqmzFdOGY8Ij2YG4qjKCLrvaZIqyDwQ9fRXKTVNF3bmlm
8BAAsUhCbbtnnAFOPnadliClhJiXHM0NIB38GCZa0tuno2vAncGrfDaX4pNQL0t9
gS47wgxKEfK3WNe37JcOtwk8oET4PeTugiVWmcvxCEDwOXCvNBQOjv8HWb2LBYJz
njW4q7yNmXtfsS9InwBq3mRxRgU6UjjppT8hQDubpUCFARj/pQa/+PdfAgMBAAGj
RTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
BBTKGOy47aC2jl6GVjNI/yaqpAlJEDANBgkqhkiG9w0BAQsFAAOCAgEAHXT0ch9V
W9BJisT+rxBLsqiNrry6bxTFVbktG/kU0B4oRgYosAl5Y5rWHByFavZNuQ9LP4gA
OVuRxs4vrvX+ym6/m5OCs7zVvunpXh1CzfpifXLTzQn5YNXxBSCBSxTF4vInES1k
wg6uwnVFLO+7kTorPfizp3lO3ydI8DpdUr3KWiAP9QthSJav8TAVopgBqdVzQFNs
rLD6Rr//4oK0i1c2escErwXbAWR1d2PIDl/z9h1PtSfXWOSb36g5JshFwzvWInXQ
65EQJvnxBoETHkGmwINE4Y1iy++duXQCF28gPD0GtesNqrTbJ91e3CHjI1thpre1
R0E+nlF5AXY865ARKGDJwdsQ2oGqLRCUZqaUHatZXON6+o5lOgzJ5W6vqciolX+y
3NrGZMWTBFnWziaXTAh7QspB8ZJwKEudIEPYBBqA0BEA/0SAxsINIFpeTipofmIV
z6Gn/tv+77dzW3GoAiaDuRCCpR2HvQJEo3YQCcAKWOvYD3a3LonOD9VwPT6jlKRj
nCYJNHYd7d92e7ykfsDq29PTtxzCAtZ2Nr/IqhZZmrI8aZftZ0GLq2BRcBnBeR4P
pBiWkZMn4//XACyFzIBtLgkqua+JXgReL3qzYqToXk5AUv48Z7rfz0YAJ6azFeSb
9MkVxlFa6Wls0/oHBMciwq787gURtJwPRHE=
-----END CERTIFICATE-----
client_cert: |
-----BEGIN CERTIFICATE-----
MIIELDCCAhSgAwIBAgIQbv/BkuY4VmEhTvVFHETJkzANBgkqhkiG9w0BAQsFADAb
MRkwFwYDVQQDExBjZi1uZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQ0MloXDTE5
MDUyNTE4MjQ0MlowFjEUMBIGA1UEAxMLc2lsay1kYWVtb24wggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDcbWXU4DwK5Aidqp9ncEZYeTbYBibxuqJgQcLe
QwlVMpMUT7gZv8dBPTp+PftINcXa+2OW/F2r9VSWJuOsP7KgrwLdwj8O9QNSV72Y
1MXuit76+8tDb4IOK97pv4S+tq3RMDbUINRwvXR8P/am/3GZ4iYmv+GZEETQNLRb
Hu+Gj4VHnYKy49MXxyTddpIni6oAxojv4fMJ5aYThn7gr9vT2ufOaMitRA2BNu0N
YFPpp1MZe167/9xR39QZuLXZJAuNIAZl7J99fo+XOLEF9bsHwmVUVkZmeQKEgYxR
eRpeV8ettjoetISyPSqr8SBU/I+VF4K/MXXFFLc/IhWmYrpPAgMBAAGjcTBvMA4G
A1UdDwEB/wQEAwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYD
VR0OBBYEFPK4Vsgkodl/kEhpfN5LA69UCs2wMB8GA1UdIwQYMBaAFMoY7LjtoLaO
XoZWM0j/JqqkCUkQMA0GCSqGSIb3DQEBCwUAA4ICAQCqZVyhhqn9fI4wNzXJ0UfU
GGJLKy4TrIdR5LSWwRtK7odoHKgjsIeAovalELj/0NBOoHIjtyfoztYk9lsYOTss
XltT9T747yC+lO/1jhb7xdS4P1HYDfzCfJYvtpqoW06Vf5J15f4ToOFf72p1McXd
RZZPRtcK/+ytGDRyqCCCWCVLkg+H6BRnSMRc01q0Q4BxbN4EbYNMBBkbfBZbtzE2
7RbxSPe6rFdlAlWKeL3bTuGc+Vp7LRK8nB6+w4HJgL68whk8OfKK3FgIA4gvBV7u
HAKNYGCxf+8SyuTXnLISJD+aHIqpzH+NVouB68kEfzZLCuaYOhKtrSexW/uDV5Ak
JNYaRqdUF5x0bkkiX5NpbFNmpeNHwg/kio8Lf4tcc0r2rx4vb0hMTU7PDd1wMFQP
OxmgXrkVqcMmf17Syk5N7B7nDB8SVCl1aBz+Yme3lhGSXKkkSl7V3MeM7wURnfTZ
Pk19emtJkRjVRBvXR56rYuN9BM3bb34PPDpXW/b37jTDZ3AtWyB64nL6Qq3Ie2Dq
Zs9tt6S3rWktCudiJ4HHhMqcs8OzKq6Lhhsw9yoqEwb0fPq8kE74cBzHZg7r3Vo7
BCvhrhrBxWpoE58IzsuXfl0tAa4aakpUkeqKn20+TAF2H2/+Cl5+xCHPvntg8KeS
/CZZ52J4s4vro3aq4oRYAg==
-----END CERTIFICATE-----
client_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA3G1l1OA8CuQInaqfZ3BGWHk22AYm8bqiYEHC3kMJVTKTFE+4
Gb/HQT06fj37SDXF2vtjlvxdq/VUlibjrD+yoK8C3cI/DvUDUle9mNTF7ore+vvL
Q2+CDive6b+Evrat0TA21CDUcL10fD/2pv9xmeImJr/hmRBE0DS0Wx7vho+FR52C
suPTF8ck3XaSJ4uqAMaI7+HzCeWmE4Z+4K/b09rnzmjIrUQNgTbtDWBT6adTGXte
u//cUd/UGbi12SQLjSAGZeyffX6PlzixBfW7B8JlVFZGZnkChIGMUXkaXlfHrbY6
HrSEsj0qq/EgVPyPlReCvzF1xRS3PyIVpmK6TwIDAQABAoIBAFXqLe6zF7QG/XS2
tDrVABYr6Lx6aWN+oxtxhkqrRk/2zmz0RYWDwl4jR1E9R1v12ZBou4B2DOyhSr7b
mZHhofYPQMa+l2V1Cj5mBHg1NpCrgA3DZo56P+7WGqRxCYRsH4ORj01PHn5y2Zw0
MicVGWopQ0WHNJ88QBYG9OUvQZzoSo8ZB7y+GEYdLbsQKtHsJ/JHaJeKwcbP28VV
ATCsMQIfCxp0tZEuhGJ2P2FS1posTpfKV6eRngaZGcSEU+KJcTFlHOBWrVXviqrT
IttDt/jjLrvL2ID+aijd2LGZs0zgCfo4PCgTwDH8nWgFNj1NS3VLJ+b1CBGq/D2c
QosNecECgYEA8TuBms+2PdwNqukpkQCjYLde2GkSTzD4D0VPHvNakh8a0zzlQgHK
zNWu54liWQexGFEKMcpKL4kFQffhUKFknpp9UkDIEwqrBptA91uT95jSOnEvwJX7
Y4l4dDULfnVIgY913hUTYGEq/q4bbD8H+O2nkAZIyktDl0OXuYK5+QsCgYEA6evX
sDAWhbee+t+3f6XV08PrY5GZ6MhQvXps3dNh8FPRWIrH6llVRzwPqOrVu5L1vasW
qcISn1AeULujCW2nA883C6RYcgZM1Zuy9UB8B0u1pK8XPw0dN/ZiomtL92efhVqZ
7oPRUxTkKEHMGZAG8OfU/0nljYDXetC4x6lPtk0CgYEAs7qeKXWwVg5psHjfm0Va
dGiqpZpDJfVaHCaLeIffZxb9qXypYrBrJIngMmnNeH+elntqmQYal6gC3s+Mc8KL
cQ+xZ2MUrfs4yUdK9ACrEcIuf5Rs+5PDJLn7oLkUwzcmukDklH4nXZuHqRCXJeMg
UXrfaRMFkJLa3QxjMrgPT1kCgYEAzNlsGS8DijYzUx93YqGnj7uS968aSXCixEvh
6qCitAOy4Qcn62Iv/CHs1NBSO+GGsoKRZjg+dqWC5tBrBmawS/W7DsbtbW12+9lN
7th5xSnX+FAc22pwnAF4fyPXcuGcIPwmsWledpNk+pwkUH6AlZdwP+BG1pRuH2+J
YdAzrkECgYBX7ydZUdMACGbeYqdaSuds6aTfFc92GWYADr4N6SdCPG2+O7aCsT8B
Op9J5iuqCF2a39bbWssWk2dAwpSH700LVWUAqy0OXZEmYjFoSg4SK2E1TIeWLyIq
hs70lbm2uRDIA8SRHr3AGT0exXAtattlB/HbfsEqLDkO0LbG56IlWg==
-----END RSA PRIVATE KEY-----
silk_controller:
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE9jCCAt6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBjZi1u
ZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQzNVoXDTI3MDUyNTE4MjQ0MVowGzEZ
MBcGA1UEAxMQY2YtbmV0d29ya2luZy1jYTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAMQr/nlMLZYXNEpe1DCnkRoTmERogDJM8/PGAMQrwy9S+m/EV2Ju
0BryTq0JtOpdJPy52p49efc36K6N69z5ednssJNmiSMCF1Ia2EqCnuE0at5NK75b
yB5fOY7LW9ZCHjttbqs+xQIFzPLJNJlLeIsKoBqbTnkopMOwy/Z7VcHt7+vAG3H+
KU7zyheleD5g6INFJK8TolhrHDdkRB7KxSssqEzhLXUtrBD2pzXSayboTnIA1Y37
Dnlv0nqVTR7YDbYZMkbr4CCd08fgChp+vE2WwPyFyL1EF71exQNNoKbs91ad+pvx
jMGLj/ii8p13X30VBSWdsKbRKJvk7Q/vWx7tJkKfa4mMyPwXjWlWTjccCbflDqgz
/CsMkOYK4vZySFfETyzcz2J++kejxnugEmD6AmUV+6GdyHWPdi3CKsnVwJFVm2cI
ZiCshFjwKjp6yws4n3JcqmzFdOGY8Ij2YG4qjKCLrvaZIqyDwQ9fRXKTVNF3bmlm
8BAAsUhCbbtnnAFOPnadliClhJiXHM0NIB38GCZa0tuno2vAncGrfDaX4pNQL0t9
gS47wgxKEfK3WNe37JcOtwk8oET4PeTugiVWmcvxCEDwOXCvNBQOjv8HWb2LBYJz
njW4q7yNmXtfsS9InwBq3mRxRgU6UjjppT8hQDubpUCFARj/pQa/+PdfAgMBAAGj
RTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
BBTKGOy47aC2jl6GVjNI/yaqpAlJEDANBgkqhkiG9w0BAQsFAAOCAgEAHXT0ch9V
W9BJisT+rxBLsqiNrry6bxTFVbktG/kU0B4oRgYosAl5Y5rWHByFavZNuQ9LP4gA
OVuRxs4vrvX+ym6/m5OCs7zVvunpXh1CzfpifXLTzQn5YNXxBSCBSxTF4vInES1k
wg6uwnVFLO+7kTorPfizp3lO3ydI8DpdUr3KWiAP9QthSJav8TAVopgBqdVzQFNs
rLD6Rr//4oK0i1c2escErwXbAWR1d2PIDl/z9h1PtSfXWOSb36g5JshFwzvWInXQ
65EQJvnxBoETHkGmwINE4Y1iy++duXQCF28gPD0GtesNqrTbJ91e3CHjI1thpre1
R0E+nlF5AXY865ARKGDJwdsQ2oGqLRCUZqaUHatZXON6+o5lOgzJ5W6vqciolX+y
3NrGZMWTBFnWziaXTAh7QspB8ZJwKEudIEPYBBqA0BEA/0SAxsINIFpeTipofmIV
z6Gn/tv+77dzW3GoAiaDuRCCpR2HvQJEo3YQCcAKWOvYD3a3LonOD9VwPT6jlKRj
nCYJNHYd7d92e7ykfsDq29PTtxzCAtZ2Nr/IqhZZmrI8aZftZ0GLq2BRcBnBeR4P
pBiWkZMn4//XACyFzIBtLgkqua+JXgReL3qzYqToXk5AUv48Z7rfz0YAJ6azFeSb
9MkVxlFa6Wls0/oHBMciwq787gURtJwPRHE=
-----END CERTIFICATE-----
server_cert: |
-----BEGIN CERTIFICATE-----
MIIEnTCCAoWgAwIBAgIQam2HuJ0ZkaKWP0+f6ZAEqDANBgkqhkiG9w0BAQsFADAb
MRkwFwYDVQQDExBjZi1uZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQ0MloXDTE5
MDUyNTE4MjQ0MlowLjEsMCoGA1UEAxMjc2lsay1jb250cm9sbGVyLnNlcnZpY2Uu
Y2YuaW50ZXJuYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDi0p0d
AU7TEB9wm2LqOAFoKcz+ti+D/01B7FpZl89jfrfiNfRvRxJZUFJqZCnQ+UAn6djg
PELsOkeI7uYH4bPFleSK5j5/vRo4hsuQKzcwqY475ajqghdklZstigc7BPe5FQ7+
uKn5EnB4E9co8vE2lmYzoorchnZEFCBOKZDGzmziN6CbOmGa71rp58MtSzZUfpeH
YIFfVeKx30Z+ui5yRc38sM3zSglM3OfNlle5k+usAqDENp5eMtcfFzQdn+ENxMO4
5csAI/xKRn0cGdgVlKINzr3HNxaSgb5JfWPQqGUr2wnqZFDdpvkGaCu68e78iiah
tH6QWLGktT33PB+dAgMBAAGjgckwgcYwDgYDVR0PAQH/BAQDAgO4MB0GA1UdJQQW
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUJUzyZQ7q3rU38J1EKfBO
4MsVtqMwHwYDVR0jBBgwFoAUyhjsuO2gto5ehlYzSP8mqqQJSRAwVQYDVR0RBE4w
TIIlKi5zaWxrLWNvbnRyb2xsZXIuc2VydmljZS5jZi5pbnRlcm5hbIIjc2lsay1j
b250cm9sbGVyLnNlcnZpY2UuY2YuaW50ZXJuYWwwDQYJKoZIhvcNAQELBQADggIB
ALOhokAvoaoYsf0f1bpn8EKBwPVWnda1RjQlWlOJkSmOq4zWYuAtGZZ8w4MA8e62
9KLUd3Mbdc/fYqTD/7NcINEKLTt6k0F9OeuvvbW2FhsRs8haimbujMxjpV2J1HEQ
wt/KJuyEVeu24h8F8VFtAcZfnki6lOfr5Hw4nxdI4IIeDiffY1lzuoauN4kRKNLA
avlCiLu8xcoaN1QeA0w4t6UwJxFK3NxDh23q+KIqKg+zb6pDZS6zgJbPFAa3UHoi
fhXN4rA7kRv/k9SqoNJsCdNNKT3aZTvu7XcgLKAr4AYeM+xjAQSXeHd4xvT9/cyJ
fpIhKA+cXOJ+EtvIpn66b3W1ZylfySBVF+L4iTFSayuw+sCjbJMK18r3GGJjHTjb
BOrTNp/Psd1LLDMRKgEMzRbvpNxIIhw2AJ1ydbtvthqxCn9KXKf2j9rQ3sAWeE7t
Q49UcailqVKSbgBVLmSkSYTFb/r2eOqna3cbC7vaaSxTkkPkT4RB9feeve5rNiPT
m4RGrpnzB6DPS+oyDRVMf0wDDcvvcx0xfDF+KHRu6jEhlAb9HDiv302d3c+IxAKl
VRnNjdSjBe8Cett2xXS9PB6Q3dHWUTkMpKVn6zoDjqDo6mdR9xmnpi0Z9rDHIISX
Ur4TIwqXiV3bFMMgAZbqFnjv+vFWU5y8deFZpFf5Nfb1
-----END CERTIFICATE-----
server_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA4tKdHQFO0xAfcJti6jgBaCnM/rYvg/9NQexaWZfPY3634jX0
b0cSWVBSamQp0PlAJ+nY4DxC7DpHiO7mB+GzxZXkiuY+f70aOIbLkCs3MKmOO+Wo
6oIXZJWbLYoHOwT3uRUO/rip+RJweBPXKPLxNpZmM6KK3IZ2RBQgTimQxs5s4jeg
mzphmu9a6efDLUs2VH6Xh2CBX1Xisd9GfrouckXN/LDN80oJTNznzZZXuZPrrAKg
xDaeXjLXHxc0HZ/hDcTDuOXLACP8SkZ9HBnYFZSiDc69xzcWkoG+SX1j0KhlK9sJ
6mRQ3ab5BmgruvHu/IomobR+kFixpLU99zwfnQIDAQABAoIBAQCBpSY+VOgMBZQi
1f30p+xN8E6Ga/W+uacb/g8qVHYqhVxvRK2hCPt450skGno4Qq8j4SqgCHGr+ie3
Ie2DJcOONP27Upz4gErDcnBZyAm0m8V7gOpKl+7tBAH9Rn6Zgl5hgKLgfwZQIfT8
/UIm2q16qP5jlw1NvOFOSj6ozmM87d5N+v7qBMGB5tIRQeeAgqFohmbXTI6Y0FqU
ZTSrSlJm+LB4J9AtynJsW6IqM+5wajC9S7iazQA6JSb4Duml++oKwHfM7rtwFujK
i07XrIXuyY08O68EFOYQy7NI/Tq+tFyOgWrLPZ8RbpwSNLFFcpSJuqo3ka1YadKu
WHSP795hAoGBAOWQUkFrM75n58j13GBIlPy6mnPxM9HvFDAynmmaxFZ8qZtLCrSg
N8kBHYKVQibCb9R6DYpYYxte/w4g1sIIDBxHNgAnMjCSLi6Zt2WPwj92hj6vZ1Qn
A3O7rSklr17HN7HbFPMwTu4mbVdCTQqMFSxV9bheAjpuAOAgHGYkWz4VAoGBAPzx
fBe3URlC7GzWKLMW1R2pgGtqW7D0AWfj+DOsfpjIWpZX9KXySe1rbGlllXkxaw/k
mT6ItcFz/QB8JOtz1G7fbjIMDm0pUpIlxwUaXeLiwjp2CXZFQqnRpRdy0UuIDjt+
VJCaOE5SgXuLQR/JthYIK3/t2LxxE/fstta2xEVpAoGAGgIk35aGsT7Satk4E4yF
nLCDiTk9lr5Qejlx6yMGtYnAKYDyAI7aYyKGNmI0sXF7/AWr/Q2QhOxZVz9vNWJ2
BMoomxHVxNz68Hqn5ZDJACmsgfObcFRPNtB/iNblLIbDj5nzoK3Lc33VC3rOgbBn
QbOneDDmbbpCzSG2NfhOghUCgYBnRRyZ/jExNB6c7O7e93J5Usvojxryaxzr0qpy
RnnFXP+HJE/xNLO0KEix21Skj2WbroRWgLBcVEO2X/ke3EKeJcCy1DNLpDRfEOdp
kPNF/7i275w7Wlm2Ra62nR0QTnMpHRHfm+djKtJMo3UqSkt6QUmpSG1VuoEhltar
YSFPCQKBgQCIkW9YddqPwqeNVavbAgklVHJ7R6lxHdUZjWFXr+L1nIwwhSXzxkPl
SmpW0ahS59+X7svfwt5kVNioJfaGPEiyPPBjX6PpPn+2cCfEzsKokYeUKze8khYs
Z6IQViludHOs/Aji4YL9Z8+OK4sDAkqI6x/F539yg+Y36Sfc2H97wQ==
-----END RSA PRIVATE KEY-----
database:
type: mysql
username: network_connectivity
password: admin
port: 3306
name: network_connectivity
host: sql-db.service.cf.internal
policy_server:
uaa_client_secret: network-policy-secret
uaa_ca: |
-----BEGIN CERTIFICATE-----
MIIExzCCA6+gAwIBAgIJAOPFFRMyK2dVMA0GCSqGSIb3DQEBBQUAMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzAeFw0xNzAyMTUyMjM1MzlaFw0xODAyMTUyMjM1MzlaMIGdMR4wHAYD
VQQDFBUqLnNlcnZpY2UuY2YuaW50ZXJuYWwxCzAJBgNVBAYTAlVTMREwDwYDVQQI
EwhOZXctWW9yazERMA8GA1UEBxMITmV3IFlvcmsxEDAOBgNVBAoTB1Bpdm90YWwx
EDAOBgNVBAsTB1BDRiBEZXYxJDAiBgkqhkiG9w0BCQEWFXBjZmRldi1lbmdAcGl2
b3RhbC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOPQlCJnidk
8XLD0TysGURSJ35BBCaKPGULVEWklO5nzP68J21nY/1oUEdnA1d5cJh27U2D6gZ6
PEN7RsZTmpygFOQQaxbc8IKx86ackI6HCq3WwiDA92IJMMvedPrGWUNoG6h/qAwi
RCo3TdV61zfy0mqBdxa1X0algUQOZCUHk6R+DRbCThXQyZW7MNyfnNb1ubw03eHp
eSTxMvYm0k/+EbYtheY1h/MJklidEEwTw5ygw8KcxowcCFjdJjaqVgPhNZCNTuA6
GUrIQJ9hB/KHpHmmiege3peq5RQZg/EfoDUtRbVd5V1z7t+2O+IgBTEKBY5yzr4S
RxK9tdHEn+MCAwEAAaOCAQYwggECMB0GA1UdDgQWBBRRUvkBTZ+jf0ao85VurNMQ
v2QJdTCB0gYDVR0jBIHKMIHHgBRRUvkBTZ+jf0ao85VurNMQv2QJdaGBo6SBoDCB
nTEeMBwGA1UEAxQVKi5zZXJ2aWNlLmNmLmludGVybmFsMQswCQYDVQQGEwJVUzER
MA8GA1UECBMITmV3LVlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRAwDgYDVQQKEwdQ
aXZvdGFsMRAwDgYDVQQLEwdQQ0YgRGV2MSQwIgYJKoZIhvcNAQkBFhVwY2ZkZXYt
ZW5nQHBpdm90YWwuaW+CCQDjxRUTMitnVTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQBk19J3yfMb0DEC/BBDlHUyGvvsLr0PVbZGtYT7qxHkqOQBFz1k
q65aeNuT8D0GSMy6gfF64cRPp3A7a8NfeYsSoynufMHMaMKEzlYjSyNGwDcxyRwv
eQ7w4QeX9EnRCBf/JQdC9bIIs9IoJAgNHhEZHnzdnt76NX1hJ+w8SVTgi5zdQknr
v+wroKbStKy2R5qxnW1bPgt6AtMoE3M/ZUj+DNQvU3wEcTasWuxvDUOhZfoOM0Rd
UxpHKQp+6PPugE59i/xg/Vm53FrAQ6+4Tn6w5jjtWBszH8OxFkyD+mKhKsh/DkfV
kXvnbnHRmaEsQBbnWkhygDws3S1YT8/vTZBw
-----END CERTIFICATE-----
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIE9jCCAt6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBjZi1u
ZXR3b3JraW5nLWNhMB4XDTE3MDUyNTE4MjQzNVoXDTI3MDUyNTE4MjQ0MVowGzEZ
MBcGA1UEAxMQY2YtbmV0d29ya2luZy1jYTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAMQr/nlMLZYXNEpe1DCnkRoTmERogDJM8/PGAMQrwy9S+m/EV2Ju
0BryTq0JtOpdJPy52p49efc36K6N69z5ednssJNmiSMCF1Ia2EqCnuE0at5NK75b
yB5fOY7LW9ZCHjttbqs+xQIFzPLJNJlLeIsKoBqbTnkopMOwy/Z7VcHt7+vAG3H+
KU7zyheleD5g6INFJK8TolhrHDdkRB7KxSssqEzhLXUtrBD2pzXSayboTnIA1Y37
Dnlv0nqVTR7YDbYZMkbr4CCd08fgChp+vE2WwPyFyL1EF71exQNNoKbs91ad+pvx
jMGLj/ii8p13X30VBSWdsKbRKJvk7Q/vWx7tJkKfa4mMyPwXjWlWTjccCbflDqgz
/CsMkOYK4vZySFfETyzcz2J++kejxnugEmD6AmUV+6GdyHWPdi3CKsnVwJFVm2cI
ZiCshFjwKjp6yws4n3JcqmzFdOGY8Ij2YG4qjKCLrvaZIqyDwQ9fRXKTVNF3bmlm
8BAAsUhCbbtnnAFOPnadliClhJiXHM0NIB38GCZa0tuno2vAncGrfDaX4pNQL0t9
gS47wgxKEfK3WNe37JcOtwk8oET4PeTugiVWmcvxCEDwOXCvNBQOjv8HWb2LBYJz
njW4q7yNmXtfsS9InwBq3mRxRgU6UjjppT8hQDubpUCFARj/pQa/+PdfAgMBAAGj
RTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
BBTKGOy47aC2jl6GVjNI/yaqpAlJEDANBgkqhkiG9w0BAQsFAAOCAgEAHXT0ch9V
W9BJisT+rxBLsqiNrry6bxTFVbktG/kU0B4oRgYosAl5Y5rWHByFavZNuQ9LP4gA
OVuRxs4vrvX+ym6/m5OCs7zVvunpXh1CzfpifXLTzQn5YNXxBSCBSxTF4vInES1k
wg6uwnVFLO+7kTorPfizp3lO3ydI8DpdUr3KWiAP9QthSJav8TAVopgBqdVzQFNs
rLD6Rr//4oK0i1c2escErwXbAWR1d2PIDl/z9h1PtSfXWOSb36g5JshFwzvWInXQ
65EQJvnxBoETHkGmwINE4Y1iy++duXQCF28gPD0GtesNqrTbJ91e3CHjI1thpre1
R0E+nlF5AXY865ARKGDJwdsQ2oGqLRCUZqaUHatZXON6+o5lOgzJ5W6vqciolX+y
3NrGZMWTBFnWziaXTAh7QspB8ZJwKEudIEPYBBqA0BEA/0SAxsINIFpeTipofmIV
z6Gn/tv+77dzW3GoAiaDuRCCpR2HvQJEo3YQCcAKWOvYD3a3LonOD9VwPT6jlKRj
nCYJNHYd7d92e7ykfsDq29PTtxzCAtZ2Nr/IqhZZmrI8aZftZ0GLq2BRcBnBeR4P
pBiWkZMn4//XACyFzIBtLgkqua+JXgReL3qzYqToXk5AUv48Z7rfz0YAJ6azFeSb
9MkVxlFa6Wls0/oHBMciwq787gURtJwPRHE=
-----END CERTIFICATE-----
server_cert: |
-----BEGIN CERTIFICATE-----
MIIEmDCCAoCgAwIBAgIRALjj0Acllm3jlXp/DGQs8dIwDQYJKoZIhvcNAQELBQAw
GzEZMBcGA1UEAxMQY2YtbmV0d29ya2luZy1jYTAeFw0xNzA1MjUxODI0NDFaFw0x
OTA1MjUxODI0NDFaMCwxKjAoBgNVBAMTIXBvbGljeS1zZXJ2ZXIuc2VydmljZS5j
Zi5pbnRlcm5hbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALhD9bG4
ZSq4wuVnoMpK7tRqHyvq8Eaif0zojnkqNPIX1qpeypUyN2Tv+uvg/2yyhwlm4hcV
3kVNR2vxLhyyl4R7CjGvn5rtu36mr8FPzlXu2z02ceEKZLmzWeoL5eRknyDT4Qov
DxOtY+WB9SO4BsUwjzmC4rrNZ+8keF8vApb9lSZQC6zNRcbcHoWCJpkvUAjY5kAS
Uvrtf0jZGxJKEXbwVm2TRAFIrcoqQQa5UTOb8jpXo8ufdlXL5VXeAvQrzdRkLFUd
RiZ8LIZMaPqm1lvYjXDKV6GikHgO+B5yusl8QZZSc5e/gzNHDZ5bQMSHXNNZ6xS7
N5rGUkPgq3AklnMCAwEAAaOBxTCBwjAOBgNVHQ8BAf8EBAMCA7gwHQYDVR0lBBYw
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBR4E2bqAlWfsfSRuT3Y/LzV
7sgLJjAfBgNVHSMEGDAWgBTKGOy47aC2jl6GVjNI/yaqpAlJEDBRBgNVHREESjBI
giMqLnBvbGljeS1zZXJ2ZXIuc2VydmljZS5jZi5pbnRlcm5hbIIhcG9saWN5LXNl
cnZlci5zZXJ2aWNlLmNmLmludGVybmFsMA0GCSqGSIb3DQEBCwUAA4ICAQCMO5di
StwKQnFy/eiOz9JgqDmkr/jR3n9ZlqyrTyafDR6dVkLJ07Lw6Kj5OsiBp+3dJFTE
EBx9kWX7F7kX6EzYmimPALf0qMgtcl6SglYn5pUXRNYbx3N1VLe54zLyBcXZaMLP
WWbzzEap9tSpoFIqaTaBAJpCD5oIG6SyjeAEbJy0RhBZVH4ARZcabPz1ghy5gQYR
Gs1LqaOBwwLDER+sptRFvzQpE97NpxGLZs+BbTTkj+jYyKHBi85ztCjpb8WW+BaC
pasqybl/PdQNjGpLW7jw0ql/HTd2hF1bQ0ae7JPhc9eMPMYFtQiPLvAEkEGLjXbX
UMyBLh/9O2tMC45btIS86cDqpq1FI1PaCwxgRWTCQgXZtO8HouD6koaMSlhOLjEh
N2GpE4FaHDZiteSujJrU5KAqoC5nrtyQfBSdzzb50i78XHhx+XR90Emr8BpM9l2L
PDxomViysgy0HqcmjCoS203OOGMo2CFY4jxhzBhOmyIsThr6s5HJPtIQ8tJPjjow
KN08ci8JWvwxAEbUM6ecqV7jlT5oABbjwviTHwSLiOq9957HAB+7GCIN+rMhl+Yx
CQQaWE83Nd7GaYtxpjJGVjM1vXkEMFo7Aq0E0lVgBJSenQi7MSPT+igvlsiQNKPd
dX0iSKMxryPEYTtl9ce4uUlzwH9Wu+wkM1NPiw==
-----END CERTIFICATE-----
server_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuEP1sbhlKrjC5Wegykru1GofK+rwRqJ/TOiOeSo08hfWql7K
lTI3ZO/66+D/bLKHCWbiFxXeRU1Ha/EuHLKXhHsKMa+fmu27fqavwU/OVe7bPTZx
4QpkubNZ6gvl5GSfINPhCi8PE61j5YH1I7gGxTCPOYLius1n7yR4Xy8Clv2VJlAL
rM1FxtwehYImmS9QCNjmQBJS+u1/SNkbEkoRdvBWbZNEAUityipBBrlRM5vyOlej
y592VcvlVd4C9CvN1GQsVR1GJnwshkxo+qbWW9iNcMpXoaKQeA74HnK6yXxBllJz
l7+DM0cNnltAxIdc01nrFLs3msZSQ+CrcCSWcwIDAQABAoIBABWsCI2qfluT93g7
w/GG9qgNAzWLIE9udUJ6Z6dgi3Gd1CWdmH4LtfAtOXncsK38IV29uAG3FLlZ6XiM
mTvO1XtDbWOCoGb8ZvzyZeF6nW4F9csxSBuLuWUN7xlT5OoD26NkyCcGeeN6lTE9
I7PbxRAUMgQ1nK0T05GQ3Id1Y/yWC4ZQnY5oKziFU0d5+aIDfegm82i8+ZvOTpOK
FEnqf1XWQEiW7P7+Xd2eUG8k/vHJ258GtTJqvl2sACWJE2vuAM7uqENds0K2MToG
d8VNrYD2mdrNOO6aR/Ho1uZ021iUzrOWKbzf/LrHzhwKB5M4HABJpmqoDviMIbKB
ourRB8ECgYEA3kA/VYwEfGGWp0yHW0II/dHAUr9+Zb6xgYEf3rT9HPW+D8Blf3b1
zGOlclNzu781yKS1w4XqpU6OIC/qZpW4F/alomDbscJIyWVd/SmMolbhELCoGjGt
9QvRiczx75hntZDLNJkORFopXVen5HITR6FMzXEA7iEzYx1akYGQXvsCgYEA1D8R
x0xNLt6LWdYZLgwvfYkrDoffLJQM4jgXkHVA9QZkKCjjL9GNTjRLvz3JKvM+Qsvj
5QR6vEpAXd+iRoPeOxUo+kb0tKj333fTIKHCj/78LSCc3lLBPigP+D0vbiZQfFUT
fZlFc6FNOA2SKUQ/xCT6KVHxf4Y5c8dtFBJRLOkCgYAWqQJMHJyQefq8UAc0/MSh
7HLpfPDMOucqRxoSwO1VuJCKVpmCp4RkNHy37V5NdC9tp62Io+zKsfm3umrxzq4Y
c2Nr7Og5dY+qSRWOLGBUZPtJkllxYkNUSsIwhJ7eSPG6B2tQj5Ju0aqKA9fwaNki
YoXMJIttvCDbKDEFyOoJZQKBgBh0V9kNqoru60FjkK0kjEg7iLF46DbbrAxYiCaF
zAEvRlT2OQ7mZxCOp/eV59rCAfdyRIS7mmSdbYMjZDAZu341Nu53RHSYT075IGNP
H/q1V1rfuhNHl6pQtV5VtmRLl9RrfP5orX7gI+SEc8W7bllsJUKjhV67GV2EqcW5
Qo8ZAoGAE07gkzFre6eseBm0lzdHoJoigKw4WXw0LG5tjOBqHZAUFpIikIhbY2eo
R/22aXTo0PPbRnsSOk4Bf6SOIcSy1XNY1Zx9j59/n4okCfJTTfaPBNLExLUTdw0q
pHvp1lIMgtuEOWGVUuT3XYOKEIjC8lN6ddpdwK6QQXhgdqhw8KI=
-----END RSA PRIVATE KEY-----
database:
type: mysql
username: network_policy
password: admin
port: 3306
name: network_policy
host: sql-db.service.cf.internal
# For ETCd:
etcd:
machines: [127.0.0.1]
require_ssl: false
ca_cert: ""
server_cert: ""
server_key: ""
client_cert: ""
client_key: ""
peer_require_ssl: false
peer_ca_cert: ""
peer_cert: ""
peer_key: ""
cluster:
- name: database_z1
instances: 1
advertise_urls_dns_suffix: etcd.service.cf.internal
peer_ip: 127.0.0.1
client_ip: 127.0.0.1
etcd_proxy:
ip: 127.0.0.1
cf_mysql:
host: mysql-broker.local.pcfdev.io
external_host: mysql-broker.local.pcfdev.io
mysql:
cluster_ips: [127.0.0.1]
cluster_health:
password: admin
admin_password: admin
roadmin_password: admin
persistent_disk: 10000
database_startup_timeout: 120
galera_port: 4568
galera_healthcheck:
endpoint_username: admin
endpoint_password: admin
db_password: admin
ip: 127.0.0.1
seeded_databases:
- name: uaadb
username: uaaadmin
password: admin
- name: ccdb
username: ccadmin
password: admin
- name: bbsdb
username: bbsadmin
password: admin
- name: routingapidb
username: routingapiadmin
password: admin
- name: network_policy
username: network_policy
password: admin
- name: network_connectivity
username: network_connectivity
password: admin
broker:
host: 127.0.0.1
port: 19284
db_password: mysql-broker-db-password
auth_username: admin
auth_password: admin
cookie_secret: 94046872-2602-4ca6-8d07-8b0da9762477
quota_enforcer:
password: admin
ssl_enabled: false
services:
- name: p-mysql
plan_updateable: true
id: 44b26033-1f54-4087-b7bc-da9652c2a539
description: MySQL databases on demand
tags: [mysql]
metadata:
displayName: MySQL
longDescription: "MySQL service for application development and testing."
imageUrl: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAJo5JREFUeNrsXQtsVNeZvvPwzBiD3zyNwxgWhEKqmEibR9skdhQtaao2Rqtks4+qthKp1e5KxKhVCg3BbrKOst3lIW2rrUQVR5W2adgKp92ikG1ik2RbkpWCs4WWQomHVyAY8NhgPDOex97v+F4zHs97zrlz7z3/Jw1j/Ji5c+/9vv9x/v8/DoVgK9Rt7/arT37tv7XqozXT7zorK1clotFgYnp6PMtLDquPoPZ1YKxvd4DOsn3goFNgOYK3asRuUx81SQRvM/hQhpIEYlz7f1AViGG6SiQABH6WHMS+U/u61SKHDxGAp/CxJgzDqjAE6aqSABAyE75NI/iD2rPfZh8xoAnDYdfCquEr218coqtOAiC7K9+hEb5N0tMw5PBUHE5EpgcodCABsDvha5MI36HF8YRbQIgw4PR5D8dD4QEKGUgA7BLHg+yPSWzli7sx3e4hxeV8w11bO3B5y7YAnRESAKtZ+i2KdZJ2pobT6x2Oh8N74SGQZ0ACYFbig/Rf18hPEHGzulzqP44BR0XFq1d39A3QGSEBMIOLD0vfSTG94WIQdHi9/a5FC/dSiEACYCgaXtjeEZ+aImtvnnzBQCIa3auGB0N0NkgARFp8WPqdiv3W6O1xM3s9gUQ40qsKQT+dDRIAXqSHa/+M5uqTm2+R8MBZ6dvrXe3fc+HJpylpSAJAxCchICEgASDikxCQEJAAZCF/DxHf/kJwZfuLPXQ2SACSid+pUHJPnpve6wk4fb7eK8/29pMAyE38No34bUQLCW9+t3vI3VDfe3nLtiESAPni/N3KTAEPQe6wQHF4PP2+tau7ZcwPOCQkf6dGforzCXPzAwurumULCxwSER/x/Ssyufuwbs5K35zvOauqsv5NfHJy7v+nQkoiFpOGEE6fd8hVU9MlS3mxQxLy9yg2zO67Fqpkdjox3FMlu3OG7M75pOcFXRxmRCGuPk8pielp9n+bIeiuq907+u2dPSQA1rf6BxSLt+UyS161gBEd5Hb6fGrcWmGqY2SioIkBhMIOnoOWJLS1N+CwMflRzLPTilYf5Haprroak7Jns5G9EFGIh9THjUklpopCIjJtydyAq66md3Trjj0kANYgfq0W63dY6CZTXNWLLE/4XIAAxCYmlBgEYeK6xXIDvgHfujVddlspcNiM/G2ay296q8+sfHW14q5ZlDMxZ1dABGLjE+zZCuGCw+NBbmCzneoGHDYif4/m8pvb0tfVKupNJCxRR2JgiLfWa5cEocMGxDe9yw/33l1fx54JuREdC86KgWmv6aKFA96WVZYPCRwWJ3+rRn7TZfnh4rvr6hR3Y/3MLDtCUTkDiEF0bMyUCUSH2zXsaVrRdekbW4dJAIwnf4dGflPF+1ib1918Al+vIHrlqulqDpAXUK951+i3nh8gATCO/Fji222mYwLh3fW10ib0jAJqDKY/G2UrCabKC9TVdFtxqdBhQfLD6neaifgVS5fYdunOzOHB9GeXmWdgmnuhvq5f9QS6SADEEN9UyT4ivnmEIHL+gmk8AqvVCzgsRP5BxQTJPsT4FUsXk6tPoUFmEahaMOxb09JuBRFwEPnzPFGqpfc2NxHxTQ4sHUY+vVj2VQOIQHzyZrvZtzJzmJz8ID0q+/xlO0Eul+JubGBWn2AdwBvAqkE5i4rUeyfgWblis5mXCR0mJz8sf9nW01C441mxnOJ8K+cHVG+gnAVFWCb0LF/ablYRcBD507v7ID5V7tkoLDh3oWzegJlFwEHknwvd3afqPZt5Ayr59bCARMCkAlBO8oPwnuYmsvrkDUglAg4TkR+kP6qUIeHHYn2V/GT15fEGIAJlyg2A/KZZHXCaiPyD5SC/Z8Uyxeu/jcgvEXCtcc1x7cuAVmfVgsGm1/aZolnEYSLyG7rOz9b1V91GffmSA81F4TNnDa8bMEuxkBk8AMPbeVHN51u7hshPYPcA7gWjcz/xyZutoZOnXyn35y+r36s19jxp5Hsiy++9baXicDrp7ifMeIPqveCurWEOceq+CEJzEdHo+kWPPeq/+dbgG9IJgNbS+x1D4/3mJqViSSPd8YSMnqHD44F1VtmZMCoEaV20+cvjNw8NHpEmB6AN8zhg2IdE0me1n1x+Qv55gU8Chi0VsnkCNdWbyzFUxFEG8hu61g/Se1Y2EfkJhbnnkWmWHDRqAlG5agScBpNf7+k3jPxk+QnFEbLC0HsnEYnURi58+orRy4NGZ8IMy/jr5Kf1fUKpoSPbg9EIEYjGWsMjZwxdGTCMHdrc/m8a8V6Y1uNBpp/ITyhVBLBCoN5PCAmwzZkBnsD6RV/9kuPmfw8N2SYHoO3YM2gY+Zub6M4lcAfKh42YQajNoGg3YgcihwHkR0wzYkTcT+Qn2EYEPJ5g5fq1LaIrBY3IARiS9NMbeggEkcA9ZsSeD0gKGlEpKDRI1op9nhH9IVjCDw09VN1HMACummpWLCS6f4BVCgouEnIIJL9fmWnvrRVOfsr2F4zmqoXKyqrs9e8TkYhyPHiVTlY6csZirFhIdJ2Ael8H3Y0NGy9v2RYQEjYLPPYDRH7jUV3hUTbUNcwSfENtPftetUf9fm1DSa99fvKGcm5ypof+t6OXVIEIqwJxTf3+dfX7N6Q6z/oSoWgRUIWmNnr1GkKBdst4AEZs1U3lvTO4b8nymcfiZSrpF6mkX1iW45iYVr2FsatMGNjz5Yvse7b3BNQwIHTqtPCyYXddrZAtyR0CyG+I6y9rOy8s+6amVYz0eDYzED4cunBWOXT+jK1DCYN6B4IVS5dwDwVEhADCs/7IxMpG/ida1iqP+9cy4lsFCDnw2LphIwsf9p08prw+csp2ngHuxYoVy9gSoUDUxsbHuYcCXD0A1fp3agIgzhVqbCjXKKeyEX/rhrvK5tqLCBX2nTyu7PvjMdsJAaYOY8NSkXDVVHddeba333QCYETBD2qyEffL4urvuvsBS1n8QgCPoPvDd1muwE4IB84KHTaKVYHKDeu5FQjxXDjfLZL8bLOOVc1SkB9u86FNm21LfgAezf72R5mHYyew6dICd5LCqkDo1Ce7uYUvnKx/m/rUKfLEYoCnLMt9P/7iw2zpTgbAy2m2SXijWWh2r4pEIhLpXLL3pTYzeQBCl/wQ88uS9INFXGkjQuQD5DjsBDaERmCeCqsN0avXdppCALTEX5uoD4u4H4k/WZCrOs+u4YDdgHtW5KThRDTa1vjyzs6yC4BI68+265Ik7ifYD6J3m4qHQjvLKgBaxZ/fqieQQBCdDxDZoZoIR/yNfc/1lEUAtGW/LcJcf9V9oo06CVYH7mGRIWx8KrSllDmCpXgAaPMVsuwnWjkJBCMhcrt5LAuGPwk8Y6gAiLb+5PoTKBQwxgso1gMQZv2R9ZfZ9UcnnXSfOXhNilBA1H1dihdQsACItP5MKVfK7fofunDGduWx2YB+gF3HPpLis3pWLBfm2RbrBRTjAQiz/kiWiCyjtAqeev/XUkziAfkff+egFHMDmIFT721RCcFivYBiBGCLqJODZAnhFjHQNWdXwMvZdOiAdCPHWEJQkJGDF1BwaFKg+9+pCNrO29u8UnF6vcR+DeF4TBm6dJ5N2EGtfLNNKgTRBdgzfETpOfqBNJZ/ntX1eJRYcFyAG5DwVd5/35nQe0fy3l+w0IEgQqr+ZE/85bKUj6sPiMBT6+5gvQJWbBTaP3JKeT1wSqr8Rsb7HQlB9Z6P3Zjk70l7PeBof96/X4D1F7alt2+NX3FWVRHb84Q+Duy+JctKHvQp0tKD7G9qSU1ZrX1Gd31yUgmdDojxMCorN1/d0ZfXVuOFeABfF2X9ify3AAs/Homw1YBsXoFuSeENQBAwCRiDQfFcDg8Bx4PlvN8HZwaC5jslGAK2aeUqaVYCZkmq3vOivIDE9DS4mpcA5OUBaIM+R4RYf0mHe2bC1jvuYjP0QKJdx48W7TJDFPQR4ez/i5fN+VkhQKIOewTMfH2NWXN9FHixI8ER0qAN+HFV8FiYM3hQumuNicJTJ04Kee2KpUta8hkgmq8HICTzjy2WiPyZCbxffYAc+9XYGcM0C7XIQDZPolyf6wn/WkZ82cGWBVUOiNhrMHb9BjjbzUsAOoUIgER9/qUQBo+ejfey8dqIqc1G6nzcfBD+kaZV0g07ycNSCxGARDjcyUUAtOQf98IfFvuT9c8bcOdBIt1ysjzA6KU5+QAzER4JSl28ZBlvVqwXICIXgMKghhe2d+RKBubjAQhJ/lHRDx/PQNmwcTZOR+YdMTr6CRCnixYGEB1bjuE4mhcsZNbdzoNMxXkBi8uWDHTnsP6w/B28DwyWnzL//MnIMuppdgtKTuLBayhKcEpIIhJy8KFqxhvmvsdgItEBDo/17Q4W6wF0iPjAFPtnBjbcFCEOZiYv1QjMcIL3zkLaVmXgcH9G8cnxGtyz/3rmk5Aedtw6Kxfs3POQtwConBDRI+D0erNy2JnF/ferT638P2gdsTyHNew5ekSaz4sSYSoPFseNeDjcumTvS/5iPAAx7j9Z/7y8ALQE290TQKETtgcjiOVGNBjsKEYAHuN9IGiCoH7//IC1/nt/+TNmIe2GmVbgAenKf/MJj4U0xcXiGbnsyOD+Q4rGeB8H5qKRB1A49LJZ1MxbeU0dooZ4n1z+LNZ6LChqm/G6dKsBbqPcf4xCIvIXh3PaTrrVRz3KI6oIYKkv3XKfGYElSHgxIH8xPQMyhgHTn17SM/jc4PR5064GZBKAB0W4/4T8rH0moiAngPyA3hegFwNhjd4sy3vHWTfgrQrFfPIY2T6zjABXeJcHx0PhBwsRAO4egKummq5sHni8ZR1rloHFz+Uqp5YBY70f1XjoANxQWz/bDSgibNDfF4VFekdgoa49iI/dgdnnlrAbMBtXBPQHgNNdOXMAavyPpb+jvN3/yg3r6crmAb0dWCdZMZ2A6ZDcGjwjFqpAeLx5Ex0otvU3FakdgbK2A2fD1PET3MMAFRvH+nYP5/IA+Ft/cv+LJgoeSACiCxCxdLFDNFN7A4xOxMHaI28B0pt1ipHdwwCHpwLczikA/ON/cv9LAtz6p9dtYA80/Ohjtsw+aksXsE1NtxHpTRAGJCLTD+aTA2jj7f6TByBGDAB4BL8fu8ae0QlYriU21oxUV6/cXjuTf6CGIVN6zW1ZBUCN/9t4v6OzagFdTdHEw8ANZe0cdx8twfAWzt28Mc/l19uFC7HkqbkDllNQv8a4chryIU4EYhPXub5mY99zbVe2vziUyQPgXvtP7r/x0AeFzlWKjXRirCYAGBTCWQBiNybB8VkBcAqP/6nvvyDIWCVX7IwC+3sAQoznHI47RXoAqG2m2v/CBcBqM/9KAcKUfX88RhfeOP60phUArf3XT9a//Oj+4F0pRACJSxm6Hk3GIb/W6zPPA/DzfifnQhKAYgBCgBiYC2BXcqApCBugyrY5qEk41JpOANoo/jcfSfSWYLsIATwbtALbWdy4CoBPyOTsWa4nrwLcyTV+cbko/ufkDSR3Aj61boPlimoQ52Nj0P0jJ6npp1ABqPQxLnEuC74znQD4eR84ga8Q6J2Aelmtmefu6/sWYDMTcvNL5xLnseH+dALAdQWAxn4XB73CL9ugTFhR/Fz/ndQqPKM3CAXZZ/YkKLwaUW8MotFg2bnEWQBa5wiA1gHIXbUIhQNVdugGfHrdHcqu4x/l1Qk4QzxY2VPzyJX8rG/eke530pE61QMBudn7aZWEhVYUpr4vPud92v6HBGO5BM6jM1D3ALiP6hGUvJAGK7VeeXQCFhs/z/bsm4Rg8EqsmscoJxwVQnJptckhQBv3g6YEIDchgKXEw4rjtXTSW2mMmQwegMb5IV0Aani+sovW/4WAxfobG9hOwee1CTy/Hb2ouuLXTJNoQ4LydrY56HK2QShZen4iwHnrsJpkD4BvDsDppCtmgGeQvFuw7urrHYA84vRcMbz+rHcGGp18lC4M4CsArckCwFmtKumKlQHZevB1MZjzfy2pl9GapyQNqfW3nB5AJffOQGE5AIeLPIBigbl7omLxVIEwS0x+noqDysEpxnkhTKUlwOLx5vkz0pXIYpWDUB5OObUuQM6v6qIrViRAfjTJyCICW/MYf04QA3AfHgB3ASAPoDQgo2/3Tjm94/H1EbL+eXFKTGWtn4J1E4sA20Dz+FHbeQOoZUCXo0yDT8wKJAG5VgGic4nAD9hBFxNznmhZy8qDrZqF15uZfnzyGHUElsAtzl2BtRAAvk1A5P4LIY/e/MMmAKti8EjTKtOLAY4b3YDYx4CsPR9u8W4KctNptV5ocPzoVTZQA1V3M5uDLldur6sve9Wd3hE4s2nJJWoDtkgIQLAo4EqfG5m7d2DyBqF6IQ/PAp7k6kIUEhW7MSiBBIAgykNQH5lcbngNK6sK23VmIhIha04CkGecQoNAzO81UBLOmjkA/oNBFFoGJBBkFhU6BQSC3AJAUxoIBDlRQx4AgSC5B0AVGgSCnBgnD4BAkNwDIBAIJAB8EJ+cpLNKIAiACG6RB0AgkAdAIBBkBPUCWAzYOxDbh6UiWzMO1fITsgnAMNc4he/sckISdt/9wJx9AOZgw8aiX5ftJZBlGrG+10A6YGAJwaAcAH9usb0BgzxfkfPEEoIyM9J7/0OPCuv3X1m1sOh2YaO2/27Wjk/mRiYB3ApSCCA5+UsFPBIMKBEJjEPDRqm6N4IJQwh5aMpQ6XBoY8FHeL6ob42f2oIlIL9OyHv/62fCXh/7ICLvkQkQAgxOtftAEiwBhk4HeL9si3Osb3eAqEbkLyV8EHGM+Pw//uLDWckPYCQakpyEwgHuC1kGpERgaQCh3tq02TI76/IeTorPDfHLZ+syWH8ZVjhEcUrPAQwpHPcHTMTixOISb36r7LKLEIBnLA6LDsufz+cH8WVZhRDAqaFkAeCsVlPEZAnID/Dc1y852ZcLGEr69Pu/lubeEFVirwvAMFcPYHqa2CwB+QFsWsIDWWsc0rn+quWXaUlQwBLgcLIAjFMOoHyA5UO220rkZ7P/Ry+VvG1ZMclOvDc2SZEJAjg1npoD2Mn7gGmXIL5ur2hgzz7dpTdiWQ2kR7xfSBIRgoMdhYn8fHMAQd6vzsIAEgDLkJ+RfvSiYevpyPDvvueBgr0e2Vx/gSE14zxbBhzr2z3M+9UpDLAW+QGjiIW1/Xwz/cnAaoNsrr8oLumcd6ckBbhtFDqTtVxMTE+DrXfcpWwtoXlHFHo23qPt73ctZwyeDfrWYeni/d6N9xaU7Et2/bs/eFfK+0XACsCswU8WgABXASAPIC0KzXYbCcTkeOQswCmDeIH8pSYcyQOYw3VlNgTQ8DHXuCUWIxGwEPnNjEMSby8ODglYAvw4nQAMcT/4EAkAkb80yOz6C+TQ0DwBqFi6JMD94G/QgFDEvUR+cv1NxqHheQJwecu2QHJswAMxySYEI7mX2r2G2nYif3FAxl/2nn8BHAqM9e2eXfZ3p1EGP7c8QGSaPRyeCqlcfFis10dOzcavKLAhESgMWI2QfdyYzh9R1j81BwAc5q5gExO2d/EPbeqYQ3Cs7yeXtnZ/+K7tB1Zwd/0/lNv1F8idwxkFwLWwintBUMzGeQC9gSddHXvq9596/9c0mbcA158EUxh3MnsAV7a/OMRfxa7b8uIgts/WxALPYNc9989Wu+ntq7JbNXL9y8sdNf4fyhYCACQCOYAy3v3tuVt3dQ9BB0ptH3/nIIlAFjxFIimSM/O4PU8AHJ4K/nmAcfvkAdC2W0gNP0Rgd9LvIwzoOXqEmJ4Gsoz3KiNnDucUgERkeoA8gPTAEl+uIZXpgARh8t9hhYBEYC5kGu9VRs7M47Yr9Ruh945cqrz/vmfUL/n18iYSirOyUnF6vZa+KH+aGFfalq9UlvgWFPy3+LvzN2812nx0dVRprlqkbKhroLtdxdcOv6WMhmiUnE7+6Bj3Dv2gGv935/QAMikFhQHaMIoP3is6RkX4kLo8SC4vuf4GcSUtp9MOBXX6vIfjoXAnhQHpXVUk8rD2Xyj08VebDh2Y7b3Ha1lh/n+yCKLdt7RzeG2OiJLrbwhX0ub2HOm+Wbe9u1Z9GuN9BJ7mJsVdV2uLi1TKQA9dRHQSFDsQFHmEXL37qTg/eV3q/fXMDrj+kXMXRLx0XXIJcFYBAOqf//ZgIhpt43kErupFitd/m20uVimDPVDo8vjgwdn/QwTy9Sr0DjnaG89+CAfOivAAhlTyt6f19jOz1fmGCNdGQG1z+WJX1XXdP1LcXHwUEqUuD+Yz7BLkZyEIkd92ADcEuf8ZuZxRANy1tQMijkRAdrOsKCWRl255MNvMO7zPvb/8GSXMbOz+C0JGLrsy/WDyzbeDVQ+3dSRisWVcVS4UUiqWNNrqwv3i7CclLQ8ijj99fWZrhqFL59MuD8LiU5WcvRE5c44tmXPGsOr+v1ywBwDEw+G93N2cWMx2XkCpy4MYj528CrCTJfduWXmEGUR++1t/AaO/gKwczrU78IDD5eL/Ya/Yz4UFYZ/Kc686NLwgCXhey8bry4PJjUOI8/Fz5AW6P3yXGGJ3ARDHiayhfFZ2h947Eqps+0KrEo+v5+oFRKNoPVYcHo+tLiIIi2q/bFN12XCQwYPK/sBMvA+yIwzwqkKLZ4QT4XiMPfDzQpf5CNYDxn5PX74ihPyq+/9qKR6A4qioeFXEkU1/NmrLi5ktkQcvIdWaJ/e+s8ahex4gRkgGgVzIyd2cAnB1Rx/CAO5BO4Yd2HVsOAp00i0PHrpwNu3vY5NNHWzLrLtJBKSx/ioHBA3+QO3/QMkCwLwAr7ffYnFP2ZGayNNj/XRI/T6WB5+gGYIU+5eGvDiblwC4Fi3cK+TDI/Npo8KgZCQn8nSA1Kk1/yB/OrKjzBjFQgR7W3+BK2J5cTavFD9qAha03889GQigLsAu/QGpQCLvt5cvKY+tWs2SfHjga7S9Vnu8yudVgv/wvoeUxb7KeX/LtupWH3gNgj0ROXdelAFE8u9H+fyiO99XRDIwEY128D5SlguYnFScVVW2vMgs8ffBu2w3XN3i52oiQmKQBobY3Pqr97zAgbl5e+x5L/JPDb53YsHDD3YqsRh3c439z+3qBQCo8su1PKgD6/4/+MP/EUPsbv3PfyrK+gfSDf4oKQcwS9RwpFfEEUMJ7To9WAfc+WyNQyxnMHhwdkMRgn2Be12g9S+Io45CX71+x7fGEgK8AOweVLl+ne0vPkKBVE8AiULaN0AeTJ04Kcr6Y+mvrpA/cBb6Ds5Kn5AVAZwQuxYHJQP5gGSi4+u/OHSAyC8JcI8LXPkqmJsFC4B3tX+PiMIgAGuidl0WnOPqa9OAEBJsOjRATT6SAPe2wHV/cHJPoX9UcKfP9f/8RajqkYcq1Q/Txv8MJdSTFFHctTW2vhGwtIea/9cDFO/LBIz6ioeEVb++rLr/bwr3AER7ASxBYvOEIEBz+eSC4Pu6KOtftABcePLpoKhcgK6UgnqjCQTjXX/1XhY06HM29k838FOYAIj2Agw4YQSCoa6/QINWtPUvSQBEewGyhAIEcv3LZf0BR6nvXt/77EgiHPGL+GSYRuRbv1YRMZWIQDDC9Q+dOCXS+qPqr6WUF3CWegROn69X5AmkUIBArn9GlMw9B4+jELGJSDI8K5Yp7kbaRJNgHWC9P/LpJZFvkXGzD0M9AMDdUN8r0k3HibTr9CCC/YB7VTD5uVh/bgJwecu2IYfH0y/y04bPnKWlQYIl4n7cq4LRr1r/IdMIAOBbu7pb1LIgO7GR6ZmNEwgEM8f96j0quJwdHOvm9WLcBIAtCy6s6hb5ydFCaYBrRSAUHaoKbPPV0V3Ksl8qHLyPruF73xmMh8JtIs+AnbYZJ9gDArf1TgaXxF8y3LyP0FVT0xUPXT6qfimMoTjRTp8Prcl056UBxk3diknjRSdQMaPBqT5m3UWbjm0r+Xwj6See/LD6Xbxf1CHiSBd/v7dHVcSdIs8GVh28q/3SiQDiy8R0hN10M+SeUu9A9TkSMayVekYYPKoiONXzX6leCye7Do4KD/uZbOQPfxIwIkHdq1r/HksIACC6NoBZJPWmgwjYtVIQlhw3GCP79LQR8SUfLxDbvlVUsOvDHjb1HFjGXyW/AUvU3F1/YSHA7As31HdFr1w9KmJ8WKr62kEEGNFD6gNTkkMhS9c9zArV2FyxZmGbKg52CN8MJL8Q11+4B8BCgV0vPBO9cm236DNkRU8A7npsYkIbi35TuhoHXCtn1QLmLbiqqy0VOhhIfgBZ/z2WFACg4XvbDqgWrUP0+2BVAKsDpraM6AwbV0mvuvZ2H31WTF7BpYYKrppqVRAWmfpYkfATuKNPMrDBx2ahvBH9CXzr1nRNnTjVlohEhK7b6RfETCIASzFLemptzukRRSPB2esIEdDFwEyenYHkF+r6G+YBAEv2vtQWvXJ10Ag3t9yeAJGeP8wiBgaSH2jnVe6b9dwa8Ukm33w7sPArmxxqKNAm+r2QQIM1QbLJ4XQadnMgY4+Rz9MXLiqx4Dg2USHm8hJV9VwyUb02pn4dVhxulxoyeAwVdVxXA8mPJb9+Q0IvIy9k40s7DsSu3+gw4r2MSAwya6/eFNMSjDM3Y86gorFBcaken+hrbGDCz5C4fw5PjLxo3pZVXap6DxtikQUWaMDawx2cOn6C1X8T+cuTM8C5Z9cA47YnJ+1A/mEj4v6yeQDAsh/tao1c/GxQdFIw2RPwrGzisu4MFxAW3yoFOdLlCrCkqHoEPPpEWHnv+QtGkj+oxf3DthYAYPG/fK8jNj5xwKi171LLhkH86c8uk6W3UniwdEnRQmBgeW8yNqvkHzBcNMtxgW6+NXhiYceXxuM3px4xxl9MKNFrYyxxlK8I4OJHR68yKwCrr8TixCyrQL1WSBpGtevG+hTyTAjjb8IjZ9g9YyC6jUr6mcIDSPIEXlGJ2Wnke2K2IGYMZr0Jrlyd2cTRYtV5n1vepNyxfIVyW139vJ/97uIF5djFT5WzY9fk8whUD7Bi6eKccyWRUxC4d18mYLpPV9nOTbkvjlGVgqmxomdV87zssRVdfZD+m59/QHn09juUGl9lzt+HAPzPyGnlpx/9r/L+yJ/m/fyLLX+m/OLpv+dybPXf3WqJ0IBNnz5zrhy5HUMz/mkNYrkvCioFQ6dH/PHJm62GeYjqhQ6dOq14V93G3ENkkMMY4Wwh4sPK9z3awYhf6N/h8dd3/TkTgn/4+U+l8QrYyoF6nSHy3uYm1qXI4n3MmzT+2hue8TelAGCUWNNr+9pVERg0UgRwwSECTAAs1nkHK/2Tv+vKy+JnA8IFGUMCdu1PB8p57UH+dp6jvYqF0wwXBCKgkr9dOzGGwmrkh+WGi14q+YGDvz+myAzZyW8KD0AHTsiyH+3qMrJGwGpAvN/35czpkvHQFCO1nvDT8YXVa5TPLWtiz8nC8e+/eZdOqrFgDT5mIb+pBAC49I2tw6oItJMIpMe//eWTGS0/yPzy24eYCKRCT/bhb5EzePahTez/EIp88dV9P0ybNCQURH7DC30sJQAkAtldf3gA6YBEHrL6uQBxwO/BS8j0WgR5yG+aHEA6EfAsX9ru8HiCdO/MQLfaqdj+q4G8yJ8qBGTNifymFYBkEVDKkBg0Y+yfrrgHy3gUx5saw2Ymv6kFQBcBnEBn1QKpRSDTWv9/fPQhUYzIb18BAJAx9a1pkVoEsO6fDoW6/gTDyW/6ENZthbM5Wyx08vQrRpcNmwHNtXVp3X8jgaKhfHA2eE3K4qIkoKOvywrkt4wA6CKgPm0uRwNRuZEu/h+fmjL0GLLVHyTj5XcOseVISVHWxh5bhgCpGP3W813uxvpuu+4GlC9+d+mCQjAVuq1GfksKABOBrTv2uGqqN8u8TMijFJjABcwzFbl5BwlAek9ggNUKGDRj0GygQh5TQE/2DVj1A7itfPaxTIjkYHjkzCtGTRsui7t/8cI8wqdLDIo+holQ7uYZiRKAlkr22VIAgNnk4Pd7e2IT13facY+9c2Nj8wQAiUF8r5B6/lLw3V+9QdWDGhyeit5rPf/cY4fP4rTLRRn99s4ed2ODLcuHMxEP/QEEw+P9druQ31YCAFzesm2ocv3aFqfPN2Cnz3XwD8cyCkC6JUKCMJe/xYjtukgASgwJrj7/0mZtqdAW3oA+xy8VWAn4yd920YqAeKuPJb7NVo/3pRCA2ZBg6449akiw0eF220KxMxXXIA9Q6IQgeA4jO/6JhCM3cO9stOoSXz6wdTXN5JtvB6cO/+bVRV/9EjYmxbxBn1U/C0psQfa1i5fM+9nSRdVK1z2fV3wVFcq54FjaoSD6INB9f/U15W/uulvxuSuUd079kb1uut9LBfoOUn/X5lb/ZRT2hN47YutaE4csV3TJ3pf8sfHxV+KhcJtVPwMsNqx9rhoAhAwQAh1YMkyXK0hXtptpLLhEE4Fg9bG8F5Dhw7plEYDLW7bhgrY3vryzM35jcnciFrPctCFY9n/8+Wss7s+W/NNHf+cC5gQS5sX6/TJ9aKdsV/nKs739lRvWtzgrK/ut2E+Adf8H/+1fuXQD5tvhJwFA+hbZyC+lAABspWBHXxerG7BgkhCewFf2/aCkTT0gIPAmJAeuPUp5u+yY4accQJ5gYUEotDMRjvitePyI2zE1CLmBL7SsyZgXwKhwxPGoK8gkHFmTgPYp80U42CujxScByCYEfc/1xKdCW6yYH5gX36tigKQhle/Oi/P3qsTvoVNBApAWTa/tqw1/EnjGLkJAuEV89bFHVlefBICEgIhPIAEgISDiE0gAikLd9u5Oh9dj2WShBAgolNwjATBACNocbveWRDTaQWfDFECn3l67deqRAJgcrLz4+o0tiXC4k8KDsrj5/RrxA3Q6SADKioYXtnckpqe/riQSHXacSmQya/+qlefwkQDYOzyAJ9Dh9Hq3xMPhVjojXIDhm0jqDVBSjwTAUiFCNBjsUGLxxxLRaBudkYKAeP4NjfTk4pMAWN8zcPq8HfFQ+EF4COqDcgbzY3q49YfJ0pMAyCAIrQ5PRUciMg1BkNU7GEoi/DDdFSQA0qKx77m22I1J5AwgCHj22+wjBrRYHoQfpiU7EgBCjpBBEwJ4B3dqgmCVpOKwRviPNSs/TC49CQCBU+ig5Q8gDDVJomB0GDGURPZx7f9BcuVJAAjlFQh/UvhQy8FrAKF16x2gjLy98P8CDADMneNqQ66ddAAAAABJRU5ErkJggg=='
dashboard_client:
id: p-mysql
secret: p-mysql-secret
plans:
- name: 512mb
id: ab08f1bc-e6fc-4b56-a767-ee0fea6e3f20
description: PCF Dev MySQL Server
max_storage_mb: 512
max_user_connections: 10
- name: 1gb
id: 11d0aa36-dcec-4021-85f5-ea4d9a5c8342
description: PCF Dev MySQL Server
max_storage_mb: 1024
max_user_connections: 20
nginx:
ip: 127.0.0.1
port: 19284
================================================
FILE: pcfdev-base.json
================================================
{
"variables": {
"version": "0",
"cpus": "4",
"memory": "4096",
"disk_size": "60",
"eula_url": "",
"security_group_id": "",
"subnet_id": "",
"vpc_id": "",
"ssh_keypair_name": "",
"ssh_private_key_file": ""
},
"builders": [
{
"type": "amazon-ebs",
"region": "us-east-1",
"source_ami": "ami-6012160a",
"instance_type": "c4.2xlarge",
"ami_name": "pcfdev-base-v{{user `version`}}",
"ami_description": "{{user `eula_url`}}",
"associate_public_ip_address": false,
"security_group_id": "{{user `security_group_id`}}",
"subnet_id": "{{user `subnet_id`}}",
"vpc_id": "{{user `vpc_id`}}",
"ssh_keypair_name": "{{user `ssh_keypair_name`}}",
"ssh_private_key_file": "{{user `ssh_private_key_file`}}",
"ami_block_device_mappings": [{
"device_name": "/dev/sda1",
"volume_type": "gp2",
"volume_size": "{{user `disk_size`}}",
"delete_on_termination": true
}],
"launch_block_device_mappings": [{
"device_name": "/dev/sda1",
"volume_type": "io1",
"iops": "1800",
"volume_size": "{{user `disk_size`}}",
"delete_on_termination": true
}],
"ssh_username": "ubuntu",
"ssh_timeout": "20m",
"tags": {"Name": "v{{user `version`}}", "License":"{{user `eula_url`}}"}
},
{
"type": "virtualbox-iso",
"headless": true,
"vm_name": "pcfdev-base-v{{user `version`}}",
"guest_os_type": "Ubuntu_64",
"disk_size": "{{user `disk_size`}}000",
"ssh_username": "vcap",
"ssh_password": "vcap",
"iso_url": "https://pcfdev.s3.amazonaws.com/artifacts/ubuntu-14.04.4-server-amd64.iso",
"iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
"iso_checksum_type": "md5",
"http_directory": "preseed",
"ssh_timeout": "20m",
"shutdown_command": "echo vcap | sudo -S shutdown -P now",
"format": "ova",
"boot_command": [
"<esc><esc><enter><wait>",
"/install/vmlinuz noapic ",
"preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
"hostname=pcfdev ",
"fb=false debconf/frontend=noninteractive ",
"keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
"keyboard-configuration/variant=USA console-setup/ask_detect=false ",
"initrd=/install/initrd.gz -- <enter>"
],
"vboxmanage": [
[ "modifyvm", "{{.Name}}", "--cpus", "{{user `cpus`}}" ],
[ "modifyvm", "{{.Name}}", "--memory", "{{user `memory`}}" ],
[ "modifyvm", "{{.Name}}", "--natdnshostresolver1", "on" ],
[ "modifyvm", "{{.Name}}", "--nic1", "nat" ],
[ "modifyvm", "{{.Name}}", "--paravirtprovider", "minimal" ]
]
}
],
"provisioners": [
{
"type": "shell",
"execute_command": "echo vcap | {{ .Vars }} sudo -E -S sh -c '{{ .Path }}'",
"inline": [
"apt-get -y install software-properties-common",
"add-apt-repository -y ppa:brightbox/ruby-ng",
"echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' > /etc/apt/sources.list.d/pgdg.list",
"wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -",
"apt-get -y update",
"apt-get -y --force-yes dist-upgrade",
"apt-get -y update",
"apt-get -y upgrade sudo",
"echo 'vcap ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers",
"# vvv TODO: instead of doing this, use (or build) a stemcell for PCF Dev vvv",
"sed -i 's/^GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"cgroup_enable=memory swapaccount=1\"/' /etc/default/grub",
"# ^^^ TODO: instead of doing this, use (or build) a stemcell for PCF Dev ^^^"
]
},
{
"type": "shell",
"only": ["virtualbox-iso"],
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"apt-get install -y dkms",
"mount -o loop /home/vcap/VBoxGuestAdditions.iso /mnt",
"sh /mnt/VBoxLinuxAdditions.run --nox11",
"umount /mnt",
"apt-get install -y open-vm-tools"
]
},
{
"type": "shell",
"only": ["amazon-ebs"],
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"while [ ! -f /var/lib/cloud/instance/boot-finished ]; do sleep 1; done",
"ln -sf /usr/bin/mawk /usr/bin/awk"
]
},
{
"type": "shell",
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"apt-get -y install curl unzip zip sysstat vim",
"apt-get -y install libruby2.1 ruby2.1",
"apt-get -y install linux-generic",
"apt-get -y install aufs-tools",
"apt-get -y install libgcrypt20 libgcrypt20-dev",
"apt-get -y install postgresql-client-9.4",
"apt-get -y install nginx",
"service nginx stop",
"update-rc.d -f nginx remove",
"for version in $(ls /lib/modules); do apt-get install -y linux-image-extra-$version; done",
"curl -L 'https://cli.run.pivotal.io/stable?release=linux64-binary&version=6.25.0&source=github-rel' | tar -C /usr/local/bin -xz",
"curl -L 'https://github.com/cloudfoundry-incubator/routing-api-cli/releases/download/2.6.0/rtr-linux-amd64.tgz' | tar -C /usr/local/bin -xz",
"mv /usr/local/bin/rtr-linux-amd64 /usr/local/bin/rtr",
"curl -L 'https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz' | tar -C /usr/local -xz",
"ln -sf /usr/local/go/bin/go* /usr/local/bin/",
"curl -o /usr/local/bin/veritas -L https://github.com/pivotal-cf-experimental/veritas/releases/download/latest/veritas",
"chmod +x /usr/local/bin/veritas",
"curl -o /usr/local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64",
"chmod +x /usr/local/bin/jq"
]
}
],
"post-processors": [
{
"type": "shell-local",
"only": ["virtualbox-iso"],
"inline": ["ls $PWD/*/*.ova"],
"keep_input_artifact": true
},
{
"type": "vagrant",
"only": ["amazon-ebs"],
"output": "pcfdev-base-{{.Provider}}-v{{user `version`}}.box",
"keep_input_artifact": true
}
]
}
================================================
FILE: pcfdev.json
================================================
{
"variables": {
"source_ami": "",
"source_ova_path": "",
"version": "0",
"distro": "pcfdev",
"cpus": "4",
"memory": "4096",
"disk_size": "60",
"dev": "false",
"eula_url": "",
"security_group_id": "",
"subnet_id": "",
"vpc_id": "",
"ssh_keypair_name": "",
"ssh_private_key_file": ""
},
"builders": [
{
"type": "amazon-ebs",
"region": "us-east-1",
"source_ami": "{{user `source_ami`}}",
"instance_type": "c4.2xlarge",
"ami_name": "{{user `distro`}}-v{{user `version`}}",
"ami_description": "{{user `eula_url`}}",
"associate_public_ip_address": false,
"security_group_id": "{{user `security_group_id`}}",
"subnet_id": "{{user `subnet_id`}}",
"vpc_id": "{{user `vpc_id`}}",
"ssh_keypair_name": "{{user `ssh_keypair_name`}}",
"ssh_private_key_file": "{{user `ssh_private_key_file`}}",
"ami_block_device_mappings": [{
"device_name": "/dev/sda1",
"volume_type": "gp2",
"volume_size": "{{user `disk_size`}}",
"delete_on_termination": true
}],
"launch_block_device_mappings": [{
"device_name": "/dev/sda1",
"volume_type": "io1",
"iops": "1800",
"volume_size": "{{user `disk_size`}}",
"delete_on_termination": true
}],
"ssh_username": "ubuntu",
"ssh_timeout": "20m",
"tags": {"Name": "v{{user `version`}}", "License":"{{user `eula_url`}}"}
},
{
"type": "virtualbox-ovf",
"source_path": "{{user `source_ova_path`}}",
"ssh_username": "vcap",
"ssh_password": "vcap",
"headless": true,
"vm_name": "packer-{{user `distro`}}-v{{user `version`}}",
"http_directory": "preseed",
"ssh_timeout": "20m",
"shutdown_command": "echo vcap | sudo -S shutdown -P now",
"format": "ova",
"boot_command": [
"<esc><esc><enter><wait>",
"/install/vmlinuz noapic ",
"preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
"hostname=pcfdev ",
"fb=false debconf/frontend=noninteractive ",
"keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
"keyboard-configuration/variant=USA console-setup/ask_detect=false ",
"initrd=/install/initrd.gz -- <enter>"
],
"vboxmanage": [
[ "modifyvm", "{{.Name}}", "--cpus", "{{user `cpus`}}" ],
[ "modifyvm", "{{.Name}}", "--memory", "{{user `memory`}}" ],
[ "modifyvm", "{{.Name}}", "--natdnshostresolver1", "on" ],
[ "modifyvm", "{{.Name}}", "--nic1", "nat" ],
[ "modifyvm", "{{.Name}}", "--paravirtprovider", "minimal" ]
]
}
],
"provisioners": [
{
"type": "shell",
"only": ["amazon-ebs"],
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"while [ ! -f /var/lib/cloud/instance/boot-finished ]; do sleep 1; done",
"ln -sf /usr/bin/mawk /usr/bin/awk"
]
},
{
"type": "file",
"only": ["virtualbox-ovf"],
"source": "assets/keys/key.pem",
"destination": "/tmp/key.pem"
},
{
"type": "file",
"source": "manifest.yml",
"destination": "/tmp/manifest.yml"
},
{
"type": "shell",
"only": ["virtualbox-ovf"],
"remote_path": "/home/vcap/add_key.sh",
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"mkdir -p /home/vcap/.ssh",
"cp /tmp/key.pem /home/vcap/.ssh/authorized_keys"
]
},
{
"type": "shell",
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"inline": [
"echo 'UseDNS no' >> /etc/ssh/sshd_config",
"echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config",
"mkdir -p /var/pcfdev/api",
"echo local.pcfdev.io > /var/pcfdev/domain",
"mv /tmp/manifest.yml /var/pcfdev/manifest.yml",
"mkdir -p /var/vcap/store",
"resolvconf --disable-updates",
"apt-get -y install dnsmasq",
"service dnsmasq stop",
"update-rc.d -f dnsmasq remove",
"echo IGNORE_RESOLVCONF=yes >> /etc/default/dnsmasq",
"echo bind-interfaces > /etc/dnsmasq.d/pcfdev",
"echo net.ipv4.ip_local_port_range = 32768 61000 > /etc/sysctl.d/60-restrict-source-ports.conf"
]
},
{
"type": "packer-bosh",
"assets_dir": "assets",
"remote_manifest_path": "/var/pcfdev/manifest.yml"
},
{
"type": "shell",
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"remote_path": "/home/vcap/start_services.sh",
"override": {
"amazon-ebs": { "remote_path": "/home/ubuntu/start_services.sh" }
},
"inline": [
"mkdir -p /var/vcap/monit/job",
"echo manual > /etc/init/runsvdir.override",
"stop runsvdir",
"mv /opt/bosh-provisioner/assets/scripts/* /var/pcfdev",
"mv /opt/bosh-provisioner/assets/extras /var/pcfdev",
"mv /opt/bosh-provisioner/assets/versions /var/pcfdev/",
"case '{{build_type}}' in",
"amazon-ebs) PROVIDER_TYPE=aws ;;",
"*) PROVIDER_TYPE=virtualbox ;;",
"esac",
"/var/pcfdev/provision local.pcfdev.io $(ip route get 1 | awk '{print $NF;exit}') redis,rabbitmq '' $PROVIDER_TYPE",
"/var/pcfdev/stop"
]
},
{
"type": "shell",
"execute_command": "{{ .Vars }} sudo -E sh -c '{{ .Path }}'",
"remote_path": "/home/vcap/cleanup.sh",
"override": {
"amazon-ebs": { "remote_path": "/home/ubuntu/cleanup.sh" }
},
"inline": [
"rm -f /var/pcfdev/external-resolv.conf",
"tar czf /var/pcfdev/packer-syslogs.tgz /var/vcap/sys/log",
"rm -f /var/vcap/sys/log/*/*.log",
"{{user `dev`}} || rm -rf /opt/bosh-provisioner",
"{{user `dev`}} || rm -f /var/pcfdev/manifest.yml",
"apt-get -y autoremove",
"apt-get -y clean",
"service dnsmasq stop",
"/var/pcfdev/reset",
"rm -rf $HOME/.cf",
"chmod 1777 /tmp",
"echo 'vcap:vcap' | chpasswd",
"chown -R vcap: /var/vcap/store",
"chown -R vcap: /var/pcfdev",
"chown -R vcap /home/vcap/.ssh || true",
"dd if=/dev/zero of=/EMPTY bs=1M 2>/dev/null || true",
"rm -f /EMPTY"
]
}
],
"post-processors": [
{
"type": "shell-local",
"only": ["virtualbox-ovf"],
"inline": ["ls $PWD/*/*.ova"],
"keep_input_artifact": true
},
{
"type": "vagrant",
"only": ["amazon-ebs"],
"output": "{{user `distro`}}-{{.Provider}}-v{{user `version`}}.box",
"keep_input_artifact": true
}
]
}
================================================
FILE: preseed/preseed.cfg
================================================
d-i debian-installer/locale string en_US.utf8
d-i console-setup/ask_detect boolean false
d-i console-setup/layout string USA
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i time/zone string UTC
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i kbd-chooser/method select American English
d-i netcfg/wireless_wep string
d-i base-installer/kernel/override-image string linux-server
d-i debconf debconf/frontend select Noninteractive
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect standard, ubuntu-server
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
d-i partman-basicfilesystems/no_swap boolean false
d-i partman-auto/expert_recipe string \
partman-auto/text/atomic_scheme :: \
55000 80000 1000000 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
1024 2048 8192 linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
d-i partman/confirm_write_new_label boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i passwd/user-fullname string vcap
d-i passwd/username string vcap
d-i passwd/user-password password vcap
d-i passwd/user-password-again password vcap
d-i user-setup/encrypt-home boolean false
d-i user-setup/allow-password-weak boolean true
d-i pkgsel/include string openssh-server ntp
d-i pkgsel/upgrade select full-upgrade
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
d-i pkgsel/update-policy select none
choose-mirror-bin mirror/http/proxy string
================================================
FILE: src/api/main.go
================================================
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"os"
"api/usecases"
)
func fileExists(path string) (bool, error) {
if _, err := os.Stat(path); err != nil {
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
return true, nil
}
func serverError(w http.ResponseWriter) {
errorHandler(w, "Failed to replace UAA Config Credentials", http.StatusInternalServerError)
}
func errorHandler(w http.ResponseWriter, message string, statusCode int) {
w.WriteHeader(statusCode)
fmt.Fprintf(w, fmt.Sprintf(`{"error":{"message":"%s"}}`, message))
}
func handlerStatus(w http.ResponseWriter, r *http.Request) {
exists, err := fileExists("/run/pcfdev-healthcheck")
if err != nil {
fmt.Fprintf(w, fmt.Sprintf(`{"error":{"message":"%s"}}`, err))
}
if exists {
fmt.Fprintf(w, `{"status":"Running"}`)
} else {
fmt.Fprintf(w, `{"status":"Unprovisioned"}`)
}
}
func replaceSecrets(w http.ResponseWriter, r *http.Request) {
uaaFilePath := "/var/vcap/jobs/uaa/config/uaa.yml"
uaaCredentialReplacement := &usecases.UaaCredentialReplacement{}
uaaBytes, err := ioutil.ReadAll(r.Body)
if err != nil {
serverError(w)
return
}
var request struct {
Password string `json:"password"`
}
if err := json.Unmarshal(uaaBytes, &request); err != nil {
errorHandler(w, "Failed to parse password field from request", http.StatusBadRequest)
return
}
insecureConfig, err := ioutil.ReadFile(uaaFilePath)
if err != nil {
serverError(w)
return
}
secureConfig, err := uaaCredentialReplacement.ReplaceUaaConfigAdminCredentials(string(insecureConfig), request.Password)
if err != nil {
serverError(w)
return
}
ioutil.WriteFile(uaaFilePath, []byte(secureConfig), 0644)
}
func main() {
http.HandleFunc("/replace-secrets", replaceSecrets)
http.HandleFunc("/status", handlerStatus)
http.ListenAndServe("localhost:8090", nil)
}
================================================
FILE: src/api/main_suite_test.go
================================================
package main_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"testing"
)
func TestPCFDevApi(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "PCF Dev Api Main Suite")
}
================================================
FILE: src/api/main_test.go
================================================
package main_test
import (
"github.com/onsi/gomega/gbytes"
"github.com/onsi/gomega/gexec"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"os"
"os/exec"
"path/filepath"
"strings"
)
var _ = Describe("PCF Dev Api provision", func() {
var (
dockerID string
pwd string
)
BeforeEach(func() {
var err error
pwd, err = os.Getwd()
Expect(err).NotTo(HaveOccurred())
output, err := exec.Command("docker", "run", "--privileged", "-d", "-w", "/go/src/api", "-v", pwd+":/go/src/api", "pcfdev/provision", "bash", "-c", "mount -o size=40M -t tmpfs tmpfs /run && sleep 1000").Output()
Expect(err).NotTo(HaveOccurred())
dockerID = strings.TrimSpace(string(output))
Expect(exec.Command("docker", "exec", dockerID, "go", "build", "api").Run()).To(Succeed())
Expect(exec.Command("docker", "exec", dockerID, "bash", "-c", `/go/src/api/api`).Start())
Eventually(func() error {
return exec.Command("docker", "exec", dockerID, "lsof", "-i", ":8090").Run()
}).Should(Succeed())
})
AfterEach(func() {
os.RemoveAll(filepath.Join(pwd, "pcfdev"))
os.RemoveAll(filepath.Join(pwd, "provisdion-script"))
Expect(exec.Command("docker", "rm", dockerID, "-f").Run()).To(Succeed())
})
Describe("/replace-secrets", func() {
It("should replace secrets on the VM", func() {
session, err := gexec.Start(exec.Command("docker", "exec", dockerID, "curl", "-v", "-X", "PUT", "-d", `{"password":"some-master-password"}`, "localhost:8090/replace-secrets"), GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())
Eventually(session, "10s").Should(gexec.Exit())
session, err = gexec.Start(exec.Command("docker", "exec", dockerID, "cat", "/var/vcap/jobs/uaa/config/uaa.yml"), GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())
Eventually(session, "10s").Should(gexec.Exit(0))
Expect(session).To(gbytes.Say(`- admin\|some-master-password\|scim.write`))
})
})
Describe("/status", func() {
Context("when the health-check is not written", func() {
It("should reply 'Unprovisioned' in the /status endpoint", func() {
session, err := gexec.Start(exec.Command("docker", "exec", dockerID, "curl", "localhost:8090/status"), GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())
Eventually(session, "10s").Should(gexec.Exit(0))
Expect(session).To(gbytes.Say(`{"status":"Unprovisioned"}`))
})
})
Context("when the health-check is written", func() {
It("should reply `Running` in the /status endpoint", func() {
session, err := gexec.Start(exec.Command("docker", "exec", dockerID, "touch", "/run/pcfdev-healthcheck"), GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())
Eventually(session, "10s").Should(gexec.Exit(0))
session, err = gexec.Start(exec.Command("docker", "exec", dockerID, "curl", "localhost:8090/status"), GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())
Eventually(session, "10s").Should(gexec.Exit(0))
Expect(session).To(gbytes.Say(`{"status":"Running"}`))
})
})
})
})
================================================
FILE: src/api/usecases/uaa_credential_replacement.go
================================================
package usecases
import (
"errors"
"fmt"
"gopkg.in/yaml.v2"
"regexp"
"strings"
)
type UaaCredentialReplacement struct{}
func (u *UaaCredentialReplacement) ReplaceUaaConfigAdminCredentials(uaaConfig string, password string) (_ string, err error) {
users, _ := findArray(uaaConfig, "scim.users")
adminCredentialPattern := regexp.MustCompile(`admin\|admin\|`)
for index, userSettingInterface := range users {
userSetting := userSettingInterface.(string)
if adminCredentialPattern.MatchString(userSetting) {
securedUserSetting := adminCredentialPattern.ReplaceAllString(userSetting, fmt.Sprintf("admin|%s|", password))
return setAt(uaaConfig, "scim.users", index, securedUserSetting)
}
}
return "", errors.New("failed to parse UAA config file")
}
type interfaceMap map[interface{}]interface{}
func recoverFromInterfaceConversion(recovered interface{}) error {
if recovered != nil {
errorMessage := recovered.(error).Error()
if strings.Contains(errorMessage, "interface conversion") {
return errors.New("failed to parse yaml")
} else {
panic(recovered)
}
}
return nil
}
func setAt(contents string, path string, arrayIndex int, value string) (string, error) {
yamlContents := make(interfaceMap)
if err := yaml.Unmarshal([]byte(contents), &yamlContents); err != nil {
return "", errors.New("failed to parse yaml")
}
var currentNode interface{} = yamlContents
keys := strings.Split(path, ".")
for _, key := range keys {
currentNode = currentNode.(interfaceMap)[key]
}
currentNode.([]interface{})[arrayIndex] = value
replacedContents, err := yaml.Marshal(yamlContents)
return string(replacedContents), err
}
func findArray(contents string, path string) (_ []interface{}, err error) {
defer func() {
err = recoverFromInterfaceConversion(recover())
}()
yamlContents := make(interfaceMap)
if err := yaml.Unmarshal([]byte(contents), &yamlContents); err != nil {
return nil, errors.New("failed to parse yaml")
}
var currentNode interface{} = yamlContents
keys := strings.Split(path, ".")
for _, key := range keys {
currentNode = currentNode.(interfaceMap)[key]
}
return currentNode.([]interface{}), nil
}
================================================
FILE: src/api/usecases/uaa_credential_replacement_test.go
================================================
package usecases_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"api/usecases"
)
var _ = Describe("Usecase: UAA Credential Replacement", func() {
var u *usecases.UaaCredentialReplacement
goodUaaConfig := `
---
name: uaa
scim:
some-key: true
users:
- admin|admin|other-value
`
expectedSecuredConfig := `name: uaa
scim:
some-key: true
users:
- admin|some-password|other-value
`
uaaConfigWithoutScimKey := "name: uaa"
uaaConfigWithoutUsersKey := "scim: {}"
uaaConfigWithoutAdminUser := `
---
scim:
users:
- other-user|password|other-value
`
BeforeEach(func() {
u = &usecases.UaaCredentialReplacement{}
})
Context("when the config file is in the expected state", func() {
It("replaces the admin password", func() {
securedConfig, err := u.ReplaceUaaConfigAdminCredentials(goodUaaConfig, "some-password")
Expect(err).NotTo(HaveOccurred())
Expect(securedConfig).To(Equal(expectedSecuredConfig))
})
})
Context("when the config file is not valid yaml", func() {
It("returns an error", func() {
uaaConfig := "some-bad-yaml"
_, err := u.ReplaceUaaConfigAdminCredentials(uaaConfig, "some-password")
Expect(err).To(MatchError("failed to parse UAA config file"))
})
})
Context("When the scim key is missing", func() {
It("returns an error", func() {
_, err := u.ReplaceUaaConfigAdminCredentials(uaaConfigWithoutScimKey, "some-password")
Expect(err).To(MatchError("failed to parse UAA config file"))
})
})
Context("When the scim.users key is missing", func() {
It("returns an error", func() {
_, err := u.ReplaceUaaConfigAdminCredentials(uaaConfigWithoutUsersKey, "some-password")
Expect(err).To(MatchError("failed to parse UAA config file"))
})
})
Context("when the admin credentials are not in scim.users", func() {
It("returns an error", func() {
_, err := u.ReplaceUaaConfigAdminCredentials(uaaConfigWithoutAdminUser, "some-password")
Expect(err).To(MatchError("failed to parse UAA config file"))
})
})
})
================================================
FILE: src/api/usecases/usecase_suite_test.go
================================================
package usecases_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"testing"
)
func TestUsecase(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Usecase Suite")
}
================================================
FILE: src/provisioner/.envrc
================================================
export GOPATH=$(cd $PWD && cd ../.. && pwd)
export PATH=$GOPATH/bin:$PATH
================================================
FILE: src/provisioner/Dockerfile
================================================
FROM golang:1.7
RUN apt-get update
RUN apt-get install -y \
dnsmasq \
file \
host \
iptables \
lsof \
netcat \
nginx \
vim
RUN echo "server {\n listen 443 ssl;\n ssl_certificate /var/vcap/jobs/gorouter/config/cert.pem;\n ssl_certificate_key /var/vcap/jobs/gorouter/config/key.pem;\n}" > /etc/nginx/conf.d/pcfdev.conf
RUN mkdir -p /var/vcap/packages/uaa/tomcat/conf
RUN echo "<web-app></web-app>" > /var/vcap/packages/uaa/tomcat/conf/web.xml
RUN mkdir -p /var/pcfdev/api
RUN mkdir -p /var/vcap/monit/job
RUN mkdir -p /var/vcap/jobs/garden/bin
RUN mkdir -p /var/vcap/jobs/uaa/config
RUN echo "exec /var/vcap/packages/garden-linux/bin/garden-linux \\ \n -dnsServer=some-dns-server \\ \n 1>>\$LOG_DIR/garden.stdout.log \\ \n 2>>\$LOG
gitextract_imyhzfky/ ├── .envrc ├── .gitignore ├── .gitmodules ├── CONTRIBUTING.md ├── DEVELOP.md ├── FAQ.md ├── Gemfile ├── LICENSE ├── README.md ├── assets/ │ ├── keys/ │ │ └── key.pem │ └── scripts/ │ ├── common │ ├── health-check │ ├── reset │ ├── run │ ├── start │ └── stop ├── manifest.yml ├── pcfdev-base.json ├── pcfdev.json ├── preseed/ │ └── preseed.cfg ├── src/ │ ├── api/ │ │ ├── main.go │ │ ├── main_suite_test.go │ │ ├── main_test.go │ │ └── usecases/ │ │ ├── uaa_credential_replacement.go │ │ ├── uaa_credential_replacement_test.go │ │ └── usecase_suite_test.go │ └── provisioner/ │ ├── .envrc │ ├── Dockerfile │ ├── assets/ │ │ ├── stub_server.go │ │ ├── tomcat-web-hsts-disabled.xml │ │ ├── tomcat-web-invalid.xml │ │ └── tomcat-web.xml │ ├── bin/ │ │ ├── generate-mocks │ │ └── tests │ ├── cert/ │ │ ├── cert.go │ │ ├── cert_suite_test.go │ │ └── cert_test.go │ ├── fs/ │ │ ├── fs.go │ │ ├── fs_suite_test.go │ │ └── fs_test.go │ ├── main.go │ ├── main_suite_test.go │ ├── main_test.go │ └── provisioner/ │ ├── commands/ │ │ ├── close_all_ports.go │ │ ├── commands_suite_test.go │ │ ├── configure_dnsmasq.go │ │ ├── configure_dnsmasq_test.go │ │ ├── configure_garden_dns.go │ │ ├── configure_garden_dns_test.go │ │ ├── disable_uaa_hsts.go │ │ ├── disable_uaa_hsts_test.go │ │ ├── open_port.go │ │ ├── replace_domain.go │ │ ├── replace_domain_test.go │ │ ├── setup_api.go │ │ ├── setup_api_test.go │ │ ├── setup_cfdot.go │ │ └── setup_cfdot_test.go │ ├── concrete_cmd_runner.go │ ├── concrete_cmd_runner_test.go │ ├── errors.go │ ├── mocks/ │ │ ├── cert.go │ │ ├── cmd_runner.go │ │ ├── command.go │ │ ├── fs.go │ │ └── ui.go │ ├── provisioner.go │ ├── provisioner_suite_test.go │ └── provisioner_test.go └── versions.json
SYMBOL INDEX (127 symbols across 32 files)
FILE: src/api/main.go
function fileExists (line 12) | func fileExists(path string) (bool, error) {
function serverError (line 22) | func serverError(w http.ResponseWriter) {
function errorHandler (line 26) | func errorHandler(w http.ResponseWriter, message string, statusCode int) {
function handlerStatus (line 31) | func handlerStatus(w http.ResponseWriter, r *http.Request) {
function replaceSecrets (line 44) | func replaceSecrets(w http.ResponseWriter, r *http.Request) {
function main (line 79) | func main() {
FILE: src/api/main_suite_test.go
function TestPCFDevApi (line 10) | func TestPCFDevApi(t *testing.T) {
FILE: src/api/usecases/uaa_credential_replacement.go
type UaaCredentialReplacement (line 11) | type UaaCredentialReplacement struct
method ReplaceUaaConfigAdminCredentials (line 13) | func (u *UaaCredentialReplacement) ReplaceUaaConfigAdminCredentials(ua...
type interfaceMap (line 28) | type interfaceMap
function recoverFromInterfaceConversion (line 30) | func recoverFromInterfaceConversion(recovered interface{}) error {
function setAt (line 42) | func setAt(contents string, path string, arrayIndex int, value string) (...
function findArray (line 59) | func findArray(contents string, path string) (_ []interface{}, err error) {
FILE: src/api/usecases/usecase_suite_test.go
function TestUsecase (line 10) | func TestUsecase(t *testing.T) {
FILE: src/provisioner/assets/stub_server.go
function main (line 9) | func main() {
FILE: src/provisioner/cert/cert.go
type Cert (line 14) | type Cert struct
method GenerateCerts (line 16) | func (c *Cert) GenerateCerts(domain string) ([]byte, []byte, []byte, [...
method generateCert (line 50) | func (c *Cert) generateCert(template, parentTemplate *x509.Certificate...
method generateTemplate (line 64) | func (c *Cert) generateTemplate(domain string, isCA bool) *x509.Certif...
FILE: src/provisioner/cert/cert_suite_test.go
function TestCert (line 10) | func TestCert(t *testing.T) {
FILE: src/provisioner/cert/cert_test.go
function parseCertificate (line 64) | func parseCertificate(certificateBytes []byte, privateKeyBytes []byte) *...
FILE: src/provisioner/fs/fs.go
constant FileModeRootReadWrite (line 11) | FileModeRootReadWrite = 0644
constant FileModeRootReadWriteExecutable (line 12) | FileModeRootReadWriteExecutable = 0744
type FS (line 15) | type FS struct
method Exists (line 17) | func (fs *FS) Exists(path string) (bool, error) {
method Read (line 27) | func (f *FS) Read(path string) ([]byte, error) {
method Mkdir (line 31) | func (f *FS) Mkdir(path string) error {
method Write (line 39) | func (f *FS) Write(path string, contents io.Reader, perm os.FileMode) ...
FILE: src/provisioner/fs/fs_suite_test.go
function TestFS (line 10) | func TestFS(t *testing.T) {
FILE: src/provisioner/main.go
function main (line 23) | func main() {
function checkArgCount (line 69) | func checkArgCount() {
function buildCommands (line 76) | func buildCommands(commandRunner provisioner.CmdRunner) []provisioner.Co...
function isAwsProvisioner (line 151) | func isAwsProvisioner() bool {
FILE: src/provisioner/main_suite_test.go
function TestPCFDev (line 10) | func TestPCFDev(t *testing.T) {
FILE: src/provisioner/main_test.go
function provisionForVirtualBox (line 327) | func provisionForVirtualBox(dockerID string) *gexec.Session {
function provisionForAws (line 331) | func provisionForAws(dockerID string) *gexec.Session {
function runSuccessfully (line 335) | func runSuccessfully(command *exec.Cmd, timeout string) *gexec.Session {
function runFailure (line 342) | func runFailure(command *exec.Cmd, timeout string) *gexec.Session {
function randomOpenPort (line 349) | func randomOpenPort() string {
function waitForServer (line 357) | func waitForServer(host string, timeout time.Duration) {
function randomPortInRange (line 374) | func randomPortInRange(lowerPort string, higherPort string) string {
FILE: src/provisioner/provisioner/commands/close_all_ports.go
type CloseAllPorts (line 7) | type CloseAllPorts struct
method Run (line 11) | func (c *CloseAllPorts) Run() error {
method dropNewConnections (line 23) | func (c *CloseAllPorts) dropNewConnections(interfaceName string) error {
method Distro (line 31) | func (*CloseAllPorts) Distro() string {
FILE: src/provisioner/provisioner/commands/commands_suite_test.go
function TestCommands (line 10) | func TestCommands(t *testing.T) {
FILE: src/provisioner/provisioner/commands/configure_dnsmasq.go
type ConfigureDnsmasq (line 11) | type ConfigureDnsmasq struct
method Run (line 18) | func (c *ConfigureDnsmasq) Run() error {
method Distro (line 83) | func (*ConfigureDnsmasq) Distro() string {
FILE: src/provisioner/provisioner/commands/configure_garden_dns.go
type ConfigureGardenDNS (line 11) | type ConfigureGardenDNS struct
method Run (line 16) | func (c *ConfigureGardenDNS) Run() error {
method Distro (line 47) | func (*ConfigureGardenDNS) Distro() string {
FILE: src/provisioner/provisioner/commands/disable_uaa_hsts.go
type DisableUAAHSTS (line 14) | type DisableUAAHSTS struct
method Run (line 18) | func (d *DisableUAAHSTS) Run() error {
method Distro (line 71) | func (*DisableUAAHSTS) Distro() string {
type WebApp (line 75) | type WebApp struct
type Filter (line 81) | type Filter struct
type InitParam (line 88) | type InitParam struct
FILE: src/provisioner/provisioner/commands/disable_uaa_hsts_test.go
function writeTomcatXML (line 137) | func writeTomcatXML(path string) {
function decodeWebXML (line 146) | func decodeWebXML(webXMLPath string) *commands.WebApp {
FILE: src/provisioner/provisioner/commands/open_port.go
type OpenPort (line 7) | type OpenPort struct
method Run (line 12) | func (o *OpenPort) Run() error {
method Distro (line 16) | func (*OpenPort) Distro() string {
FILE: src/provisioner/provisioner/commands/replace_domain.go
type ReplaceDomain (line 10) | type ReplaceDomain struct
method Run (line 16) | func (r *ReplaceDomain) Run() error {
method Distro (line 35) | func (r *ReplaceDomain) Distro() string {
FILE: src/provisioner/provisioner/commands/setup_api.go
type SetupApi (line 9) | type SetupApi struct
method Run (line 14) | func (s *SetupApi) Run() error {
method Distro (line 55) | func(s *SetupApi) Distro() string {
FILE: src/provisioner/provisioner/commands/setup_cfdot.go
type SetupCFDot (line 9) | type SetupCFDot struct
method Run (line 14) | func (s *SetupCFDot) Run() error {
method Distro (line 23) | func (s *SetupCFDot) Distro() string {
FILE: src/provisioner/provisioner/concrete_cmd_runner.go
type ConcreteCmdRunner (line 10) | type ConcreteCmdRunner struct
method Run (line 16) | func (r *ConcreteCmdRunner) Run(command string, args ...string) error {
method Output (line 41) | func (r *ConcreteCmdRunner) Output(command string, args ...string) ([]...
FILE: src/provisioner/provisioner/errors.go
type TimeoutError (line 3) | type TimeoutError struct
method Error (line 5) | func (t *TimeoutError) Error() string {
FILE: src/provisioner/provisioner/mocks/cert.go
type MockCert (line 11) | type MockCert struct
method EXPECT (line 27) | func (_m *MockCert) EXPECT() *_MockCertRecorder {
method GenerateCerts (line 31) | func (_m *MockCert) GenerateCerts(_param0 string) ([]byte, []byte, []b...
type _MockCertRecorder (line 17) | type _MockCertRecorder struct
method GenerateCerts (line 41) | func (_mr *_MockCertRecorder) GenerateCerts(arg0 interface{}) *gomock....
function NewMockCert (line 21) | func NewMockCert(ctrl *gomock.Controller) *MockCert {
FILE: src/provisioner/provisioner/mocks/cmd_runner.go
type MockCmdRunner (line 11) | type MockCmdRunner struct
method EXPECT (line 27) | func (_m *MockCmdRunner) EXPECT() *_MockCmdRunnerRecorder {
method Output (line 31) | func (_m *MockCmdRunner) Output(_param0 string, _param1 ...string) ([]...
method Run (line 47) | func (_m *MockCmdRunner) Run(_param0 string, _param1 ...string) error {
type _MockCmdRunnerRecorder (line 17) | type _MockCmdRunnerRecorder struct
method Output (line 42) | func (_mr *_MockCmdRunnerRecorder) Output(arg0 interface{}, arg1 ...in...
method Run (line 57) | func (_mr *_MockCmdRunnerRecorder) Run(arg0 interface{}, arg1 ...inter...
function NewMockCmdRunner (line 21) | func NewMockCmdRunner(ctrl *gomock.Controller) *MockCmdRunner {
FILE: src/provisioner/provisioner/mocks/command.go
type MockCommand (line 11) | type MockCommand struct
method EXPECT (line 27) | func (_m *MockCommand) EXPECT() *_MockCommandRecorder {
method Distro (line 31) | func (_m *MockCommand) Distro() string {
method Run (line 41) | func (_m *MockCommand) Run() error {
type _MockCommandRecorder (line 17) | type _MockCommandRecorder struct
method Distro (line 37) | func (_mr *_MockCommandRecorder) Distro() *gomock.Call {
method Run (line 47) | func (_mr *_MockCommandRecorder) Run() *gomock.Call {
function NewMockCommand (line 21) | func NewMockCommand(ctrl *gomock.Controller) *MockCommand {
FILE: src/provisioner/provisioner/mocks/fs.go
type MockFS (line 13) | type MockFS struct
method EXPECT (line 29) | func (_m *MockFS) EXPECT() *_MockFSRecorder {
method Exists (line 33) | func (_m *MockFS) Exists(_param0 string) (bool, error) {
method Mkdir (line 44) | func (_m *MockFS) Mkdir(_param0 string) error {
method Read (line 54) | func (_m *MockFS) Read(_param0 string) ([]byte, error) {
method Write (line 65) | func (_m *MockFS) Write(_param0 string, _param1 io.Reader, _param2 os....
type _MockFSRecorder (line 19) | type _MockFSRecorder struct
method Exists (line 40) | func (_mr *_MockFSRecorder) Exists(arg0 interface{}) *gomock.Call {
method Mkdir (line 50) | func (_mr *_MockFSRecorder) Mkdir(arg0 interface{}) *gomock.Call {
method Read (line 61) | func (_mr *_MockFSRecorder) Read(arg0 interface{}) *gomock.Call {
method Write (line 71) | func (_mr *_MockFSRecorder) Write(arg0, arg1, arg2 interface{}) *gomoc...
function NewMockFS (line 23) | func NewMockFS(ctrl *gomock.Controller) *MockFS {
FILE: src/provisioner/provisioner/mocks/ui.go
type MockUI (line 11) | type MockUI struct
method EXPECT (line 27) | func (_m *MockUI) EXPECT() *_MockUIRecorder {
method PrintHelpText (line 31) | func (_m *MockUI) PrintHelpText(_param0 string) error {
type _MockUIRecorder (line 17) | type _MockUIRecorder struct
method PrintHelpText (line 37) | func (_mr *_MockUIRecorder) PrintHelpText(arg0 interface{}) *gomock.Ca...
function NewMockUI (line 21) | func NewMockUI(ctrl *gomock.Controller) *MockUI {
FILE: src/provisioner/provisioner/provisioner.go
type Cert (line 11) | type Cert interface
type CmdRunner (line 16) | type CmdRunner interface
type FS (line 22) | type FS interface
type UI (line 30) | type UI interface
type Command (line 35) | type Command interface
type Provisioner (line 40) | type Provisioner struct
method Provision (line 57) | func (p *Provisioner) Provision(provisionScriptPath string, args ...st...
constant DistributionOSS (line 53) | DistributionOSS = "oss"
constant DistributionPCF (line 54) | DistributionPCF = "pcf"
FILE: src/provisioner/provisioner/provisioner_suite_test.go
function TestProvisioner (line 10) | func TestProvisioner(t *testing.T) {
Condensed preview — 70 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (467K chars).
[
{
"path": ".envrc",
"chars": 49,
"preview": "export GOPATH=$PWD\nexport PATH=$GOPATH/bin:$PATH\n"
},
{
"path": ".gitignore",
"chars": 213,
"preview": ".DS_Store\n*.box\n\n/bosh/bin\n/bosh/pkg\n\n/output\n/pkg\n/releases\n/src/provisioner/provision\n/src/api/api\n/pcfdev-base\n\n/bin\n"
},
{
"path": ".gitmodules",
"chars": 1199,
"preview": "[submodule \"src/github.com/onsi/ginkgo\"]\n\tpath = src/github.com/onsi/ginkgo\n\turl = https://github.com/onsi/ginkgo\n[submo"
},
{
"path": "CONTRIBUTING.md",
"chars": 1506,
"preview": "# Contributing\n\nEveryone is encouraged to help improve this project.\n\nPlease submit pull requests against the **master b"
},
{
"path": "DEVELOP.md",
"chars": 2529,
"preview": "# PCF Dev Development\n\nTo develop PCF Dev you will need to have the following tools installed:\n\n- [Packer](https://www.p"
},
{
"path": "FAQ.md",
"chars": 3513,
"preview": "# Frequently Asked Questions\n\n## General Questions\n\n### What is PCF Dev?\n\nPCF Dev is a new distribution of Cloud Foundry"
},
{
"path": "Gemfile",
"chars": 60,
"preview": "source 'https://rubygems.org'\n\ngem 'bosh_cli', '>=1.3094.0'\n"
},
{
"path": "LICENSE",
"chars": 11352,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 4452,
"preview": "# Update on PCF Dev\n\nThis is the deprecated version of PCF Dev - please visit the current Github repository https://gith"
},
{
"path": "assets/keys/key.pem",
"chars": 401,
"preview": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+eYPNeh/gldZCxXCXBmlAUWgJdRTTNClCAx8yV26/hdLjbZGg1StjwOVkUupxpG+5ghm7mxnz6xQUJH+A"
},
{
"path": "assets/scripts/common",
"chars": 2913,
"preview": "monit=\"/var/vcap/bosh/bin/monit\"\n\nmonit_summary() { while output=$($monit summary 2>&1) && [[ $output = *\"error connecti"
},
{
"path": "assets/scripts/health-check",
"chars": 259,
"preview": "#!/bin/bash\n\nset -e\n\nsource /var/pcfdev/common\n\ndomain=$(cat /var/pcfdev/domain)\nstatus_code=$(cc_status_code ${domain})"
},
{
"path": "assets/scripts/reset",
"chars": 575,
"preview": "#!/bin/bash\n\nset -e\n\n\nexec 3>&1 4>&2 >>/var/pcfdev/reset.log 2>&1\nset -x\n\nsource /var/pcfdev/common\n\nif status runsvdir "
},
{
"path": "assets/scripts/run",
"chars": 4667,
"preview": "#!/bin/bash\n\nset -e\n\nif [[ -z $1 ]] || [[ -z $2 ]]; then\n >&2 echo \"Usage:\"\n >&2 echo -e \"\\t$0 <domain> <public-ip"
},
{
"path": "assets/scripts/start",
"chars": 1183,
"preview": "#!/bin/bash\n\nset -e\n\nif [[ -z $1 ]]; then\n >&2 echo \"Usage:\"\n >&2 echo -e \"\\t$0 <domain>\"\n exit 1\nfi\n\nexec 3>&1"
},
{
"path": "assets/scripts/stop",
"chars": 315,
"preview": "#!/bin/bash\n\nset -e\nexec 3>&1 4>&2 >>/var/pcfdev/provision.log 2>&1\nset -x\n\nsource /var/pcfdev/common\n\nif status runsvdi"
},
{
"path": "manifest.yml",
"chars": 133346,
"preview": "---\nname: pcfdev\n\nreleases:\n- name: capi\n version: 0\n url: file:///opt/bosh-provisioner/assets/releases/capi-0.tgz\n- n"
},
{
"path": "pcfdev-base.json",
"chars": 7348,
"preview": "{\n \"variables\": {\n \"version\": \"0\",\n \"cpus\": \"4\",\n \"memory\": \"4096\",\n \"disk_size\": \"60\",\n "
},
{
"path": "pcfdev.json",
"chars": 8016,
"preview": "{\n \"variables\": {\n \"source_ami\": \"\",\n \"source_ova_path\": \"\",\n \"version\": \"0\",\n \"distro\": "
},
{
"path": "preseed/preseed.cfg",
"chars": 2205,
"preview": "d-i debian-installer/locale string en_US.utf8\nd-i console-setup/ask_detect boolean false\nd-i console-setup/layout string"
},
{
"path": "src/api/main.go",
"chars": 1888,
"preview": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"os\"\n\t\"api/usecases\"\n)\n\nfunc fileExists(path st"
},
{
"path": "src/api/main_suite_test.go",
"chars": 202,
"preview": "package main_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestPCFDevApi(t "
},
{
"path": "src/api/main_test.go",
"chars": 3035,
"preview": "package main_test\n\nimport (\n\t\"github.com/onsi/gomega/gbytes\"\n\t\"github.com/onsi/gomega/gexec\"\n\t. \"github.com/onsi/ginkgo\""
},
{
"path": "src/api/usecases/uaa_credential_replacement.go",
"chars": 2175,
"preview": "package usecases\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"gopkg.in/yaml.v2\"\n\t\"regexp\"\n\t\"strings\"\n)\n\ntype UaaCredentialReplacement st"
},
{
"path": "src/api/usecases/uaa_credential_replacement_test.go",
"chars": 2026,
"preview": "package usecases_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\t\"api/usecases\"\n)\n\nvar _ = Descr"
},
{
"path": "src/api/usecases/usecase_suite_test.go",
"chars": 195,
"preview": "package usecases_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestUsecase("
},
{
"path": "src/provisioner/.envrc",
"chars": 74,
"preview": "export GOPATH=$(cd $PWD && cd ../.. && pwd)\nexport PATH=$GOPATH/bin:$PATH\n"
},
{
"path": "src/provisioner/Dockerfile",
"chars": 1000,
"preview": "FROM golang:1.7\n\nRUN apt-get update\nRUN apt-get install -y \\\n dnsmasq \\\n file \\\n host \\\n iptables \\\n lsof"
},
{
"path": "src/provisioner/assets/stub_server.go",
"chars": 329,
"preview": "package main\n\nimport (\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n)\n\nfunc main() {\n\tport := os.Args[1]\n\n\thttp.HandleFunc(\"/\", func(w http."
},
{
"path": "src/provisioner/assets/tomcat-web-hsts-disabled.xml",
"chars": 134442,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<web-app xmlns=\"http://xmlns.jcp.org/xml/ns/javaee\"\n xmlns:xsi=\"http://www."
},
{
"path": "src/provisioner/assets/tomcat-web-invalid.xml",
"chars": 13,
"preview": "some-bad-xml\n"
},
{
"path": "src/provisioner/assets/tomcat-web.xml",
"chars": 2074,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<web-app xmlns=\"http://xmlns.jcp.org/xml/ns/javaee\"\n xmlns:xsi=\"http://www"
},
{
"path": "src/provisioner/bin/generate-mocks",
"chars": 349,
"preview": "#!/bin/bash\n\npcfdev_dir=$(cd `dirname $0` && cd .. && pwd)\nmocks_dirs=$(go list -f '{{.Dir}}' provisioner/... | grep -v "
},
{
"path": "src/provisioner/bin/tests",
"chars": 140,
"preview": "#!/bin/bash\n\ndir=$(cd `dirname $0` && cd .. && pwd)\n\ngo get github.com/onsi/ginkgo/ginkgo\ngo get github.com/onsi/gomega\n"
},
{
"path": "src/provisioner/cert/cert.go",
"chars": 2870,
"preview": "package cert\n\nimport (\n\t\"bytes\"\n\t\"crypto/rand\"\n\t\"crypto/rsa\"\n\t\"crypto/x509\"\n\t\"crypto/x509/pkix\"\n\t\"encoding/pem\"\n\t\"math/b"
},
{
"path": "src/provisioner/cert/cert_suite_test.go",
"chars": 185,
"preview": "package cert_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestCert(t *test"
},
{
"path": "src/provisioner/cert/cert_test.go",
"chars": 2478,
"preview": "package cert_test\n\nimport (\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"math/big\"\n\t\"provisioner/cert\"\n\t\"time\"\n\n\t. \"github.com/onsi/gi"
},
{
"path": "src/provisioner/fs/fs.go",
"chars": 980,
"preview": "package fs\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"os\"\n)\n\nconst (\n\tFileModeRootReadWrite = 0644\n\tFileModeRootRea"
},
{
"path": "src/provisioner/fs/fs_suite_test.go",
"chars": 179,
"preview": "package fs_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestFS(t *testing."
},
{
"path": "src/provisioner/fs/fs_test.go",
"chars": 3414,
"preview": "package fs_test\n\nimport (\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"provisioner/fs\"\n\t\"strings\"\n\n\t. \"github.com/onsi/ginkgo\"\n"
},
{
"path": "src/provisioner/main.go",
"chars": 3237,
"preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"os/exec\"\n\t\"provisioner/cert\"\n\t\"provisioner/fs\"\n\t\"provisioner/provisio"
},
{
"path": "src/provisioner/main_suite_test.go",
"chars": 195,
"preview": "package main_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestPCFDev(t *te"
},
{
"path": "src/provisioner/main_test.go",
"chars": 19387,
"preview": "package main_test\n\nimport (\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\n\t\"regexp\"\n\n\t\"path/filepath\"\n\n\t. \"github.com/onsi/ginkgo\"\n\t. \"gi"
},
{
"path": "src/provisioner/provisioner/commands/close_all_ports.go",
"chars": 812,
"preview": "package commands\n\nimport (\n\t\"provisioner/provisioner\"\n)\n\ntype CloseAllPorts struct {\n\tCmdRunner provisioner.CmdRunner\n}\n"
},
{
"path": "src/provisioner/provisioner/commands/commands_suite_test.go",
"chars": 197,
"preview": "package commands_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestCommands"
},
{
"path": "src/provisioner/provisioner/commands/configure_dnsmasq.go",
"chars": 2296,
"preview": "package commands\n\nimport (\n\t\"fmt\"\n\t\"provisioner/provisioner\"\n\t\"regexp\"\n\t\"strings\"\n\t\"provisioner/fs\"\n)\n\ntype ConfigureDns"
},
{
"path": "src/provisioner/provisioner/commands/configure_dnsmasq_test.go",
"chars": 16665,
"preview": "package commands_test\n\nimport (\n\t\"errors\"\n\t\"provisioner/provisioner\"\n\t\"provisioner/provisioner/commands\"\n\t\"provisioner/p"
},
{
"path": "src/provisioner/provisioner/commands/configure_garden_dns.go",
"chars": 1343,
"preview": "package commands\n\nimport (\n\t\"fmt\"\n\t\"provisioner/provisioner\"\n\t\"regexp\"\n\t\"strings\"\n\t\"provisioner/fs\"\n)\n\ntype ConfigureGar"
},
{
"path": "src/provisioner/provisioner/commands/configure_garden_dns_test.go",
"chars": 4534,
"preview": "package commands_test\n\nimport (\n\t\"provisioner/provisioner/commands\"\n\t\"provisioner/provisioner/mocks\"\n\t\"strings\"\n\n\t\"githu"
},
{
"path": "src/provisioner/provisioner/commands/disable_uaa_hsts.go",
"chars": 2074,
"preview": "package commands\n\nimport (\n\t\"bytes\"\n\t\"encoding/xml\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"strings\"\n\n\t\"golang.org/x/net/html/charset\"\n\t\"pr"
},
{
"path": "src/provisioner/provisioner/commands/disable_uaa_hsts_test.go",
"chars": 5059,
"preview": "package commands_test\n\nimport (\n\t\"encoding/xml\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"provisioner/provisioner/commands\""
},
{
"path": "src/provisioner/provisioner/commands/open_port.go",
"chars": 337,
"preview": "package commands\n\nimport (\n\t\"provisioner/provisioner\"\n)\n\ntype OpenPort struct {\n\tCmdRunner provisioner.CmdRunner\n\tPort s"
},
{
"path": "src/provisioner/provisioner/commands/replace_domain.go",
"chars": 840,
"preview": "package commands\n\nimport (\n\t\"fmt\"\n\t\"provisioner/fs\"\n\t\"provisioner/provisioner\"\n\t\"strings\"\n)\n\ntype ReplaceDomain struct {"
},
{
"path": "src/provisioner/provisioner/commands/replace_domain_test.go",
"chars": 3943,
"preview": "package commands_test\n\nimport (\n\t\"github.com/golang/mock/gomock\"\n\t\"strings\"\n\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/"
},
{
"path": "src/provisioner/provisioner/commands/setup_api.go",
"chars": 1091,
"preview": "package commands\n\nimport (\n\t\"provisioner/provisioner\"\n\t\"strings\"\n\t\"provisioner/fs\"\n)\n\ntype SetupApi struct {\n\tCmdRunner "
},
{
"path": "src/provisioner/provisioner/commands/setup_api_test.go",
"chars": 2742,
"preview": "package commands_test\n\nimport (\n\t\"github.com/golang/mock/gomock\"\n\t\"strings\"\n\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/"
},
{
"path": "src/provisioner/provisioner/commands/setup_cfdot.go",
"chars": 522,
"preview": "package commands\n\nimport (\n\t\"provisioner/provisioner\"\n\t\"strings\"\n\t\"provisioner/fs\"\n)\n\ntype SetupCFDot struct {\n\tCmdRunne"
},
{
"path": "src/provisioner/provisioner/commands/setup_cfdot_test.go",
"chars": 1294,
"preview": "package commands_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\t\"github.com/golang/mock/gomock\""
},
{
"path": "src/provisioner/provisioner/concrete_cmd_runner.go",
"chars": 805,
"preview": "package provisioner\n\nimport (\n\t\"io\"\n\t\"os/exec\"\n\t\"syscall\"\n\t\"time\"\n)\n\ntype ConcreteCmdRunner struct {\n\tStdout io.Writer\n"
},
{
"path": "src/provisioner/provisioner/concrete_cmd_runner_test.go",
"chars": 1813,
"preview": "package provisioner_test\n\nimport (\n\t\"provisioner/provisioner\"\n\t\"time\"\n\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/g"
},
{
"path": "src/provisioner/provisioner/errors.go",
"chars": 115,
"preview": "package provisioner\n\ntype TimeoutError struct{}\n\nfunc (t *TimeoutError) Error() string {\n\treturn \"timeout error\"\n}\n"
},
{
"path": "src/provisioner/provisioner/mocks/cert.go",
"chars": 1058,
"preview": "// Automatically generated by MockGen. DO NOT EDIT!\n// Source: provisioner/provisioner (interfaces: Cert)\n\npackage mocks"
},
{
"path": "src/provisioner/provisioner/mocks/cmd_runner.go",
"chars": 1583,
"preview": "// Automatically generated by MockGen. DO NOT EDIT!\n// Source: provisioner/provisioner (interfaces: CmdRunner)\n\npackage "
},
{
"path": "src/provisioner/provisioner/mocks/command.go",
"chars": 1081,
"preview": "// Automatically generated by MockGen. DO NOT EDIT!\n// Source: provisioner/provisioner (interfaces: Command)\n\npackage mo"
},
{
"path": "src/provisioner/provisioner/mocks/fs.go",
"chars": 1796,
"preview": "// Automatically generated by MockGen. DO NOT EDIT!\n// Source: provisioner/provisioner (interfaces: FS)\n\npackage mocks\n\n"
},
{
"path": "src/provisioner/provisioner/mocks/ui.go",
"chars": 858,
"preview": "// Automatically generated by MockGen. DO NOT EDIT!\n// Source: provisioner/provisioner (interfaces: UI)\n\npackage mocks\n\n"
},
{
"path": "src/provisioner/provisioner/provisioner.go",
"chars": 2600,
"preview": "package provisioner\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\t\"os\"\n\t\"provisioner/fs\"\n)\n\n//go:generate mockgen -package mocks -destinatio"
},
{
"path": "src/provisioner/provisioner/provisioner_suite_test.go",
"chars": 206,
"preview": "package provisioner_test\n\nimport (\n\t. \"github.com/onsi/ginkgo\"\n\t. \"github.com/onsi/gomega\"\n\n\t\"testing\"\n)\n\nfunc TestProvi"
},
{
"path": "src/provisioner/provisioner/provisioner_test.go",
"chars": 11221,
"preview": "package provisioner_test\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"provisioner/provisioner\"\n\t\"provisioner/provisioner/mocks\"\n\n\t\"git"
},
{
"path": "versions.json",
"chars": 7152,
"preview": "{\n \"releases\": {\n \"binary-buildpack\" : {\n \"version\": \"1.0.11\",\n \"sha1\": \"897826f41d17ddc82967e8ced549c8f85"
}
]
About this extraction
This page contains the full source code of the pivotal-cf/pcfdev GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 70 files (430.7 KB), approximately 158.9k tokens, and a symbol index with 127 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.