Skip to content

Commit

Permalink
no more spiffing
Browse files Browse the repository at this point in the history
updating property overrides

Final release

removing git pull, updating overrides

fixing script

concating properies.domain to uris

Final release
  • Loading branch information
CHEVY S. HUNGERFORD committed Dec 21, 2017
1 parent e3c66d2 commit ddf7fd7
Show file tree
Hide file tree
Showing 15 changed files with 1,101 additions and 1,043 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ src/github.com/codegangsta/cli
/pkg/

bosh-lite/deployments/*
app-autoscaler-extension.zip
bosh
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.PHONY: extension
extension::
./scripts/update
zip -r app-autoscaler-extension.zip config manifests jobs packages scripts src templates extension-manifest.yml LICENSE NOTICE README.md
47 changes: 47 additions & 0 deletions example/example-policy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"instance_min_count": 1,
"instance_max_count": 5,
"scaling_rules": [{
"metric_type": "memoryutil",
"stat_window_secs": 300,
"breach_duration_secs": 600,
"threshold": 30,
"operator": "<",
"cool_down_secs": 300,
"adjustment": "-1"
}, {
"metric_type": "memoryutil",
"stat_window_secs": 300,
"breach_duration_secs": 600,
"threshold": 55,
"operator": ">=",
"cool_down_secs": 300,
"adjustment": "+1"
}],
"schedules": {
"timezone": "America/Los_Angeles",
"recurring_schedule": [{
"start_time": "01:00",
"end_time": "23:00",
"days_of_week": [
1,
2,
3,
4,
5,
6,
7
],
"instance_min_count": 1,
"instance_max_count": 5,
"initial_min_instance_count": 5
}],
"specific_date": [{
"start_date_time": "2016-06-02T10:00",
"end_date_time": "2018-06-15T13:59",
"instance_min_count": 1,
"instance_max_count": 4,
"initial_min_instance_count": 1
}]
}
}
84 changes: 45 additions & 39 deletions example/property-overrides.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
deployment_name: app-autoscaler-replease

default_db:
databases:
- {name: autoscaler, tag: default}
Expand All @@ -12,36 +14,38 @@ api_server_properties:
idle_timeout: 1000
max_connections: 10
min_connections: 0
uri: autoscaler.bosh-lite.com
port: 6100
publicPort: 6106
ca_cert: (( app_autoscaler_ca_cert ))
server_cert: (( apiserver_server_cert ))
server_key: (( apiserver_server_key))
public_ca_cert: (( app_autoscaler_public_ca_cert ))
public_server_cert: (( apiserver_public_server_cert ))
public_server_key: (( apiserver_public_server_key))
ca_cert: (( grab app_autoscaler_ca_cert ))
server_cert: (( grab apiserver_server_cert ))
server_key: (( grab apiserver_server_key))
public_ca_cert: (( grab app_autoscaler_public_ca_cert ))
public_server_cert: (( grab apiserver_public_server_cert ))
public_server_key: (( grab apiserver_public_server_key))
scheduler:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( scheduler_client_cert ))
client_key: (( scheduler_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab scheduler_client_cert ))
client_key: (( grab scheduler_client_key ))
scaling_engine:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( scalingengine_client_cert ))
client_key: (( scalingengine_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab scalingengine_client_cert ))
client_key: (( grab scalingengine_client_key ))
metrics_collector:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( metricscollector_client_cert ))
client_key: (( metricscollector_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab metricscollector_client_cert ))
client_key: (( grab metricscollector_client_key ))

service_broker_properties:
db_config:
idle_timeout: 1000
max_connections: 10
min_connections: 0
uri: autoscalerservicebroker.bosh-lite.com
port : 6101
ca_cert: (( app_autoscaler_ca_cert ))
server_cert: (( servicebroker_server_cert ))
server_key: ((servicebroker_server_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
server_cert: (( grab servicebroker_server_cert ))
server_key: (( grab servicebroker_server_key ))
username: username
password: password
http_request_timeout: 5000
Expand All @@ -57,22 +61,22 @@ service_broker_properties:
name: autoscaler-free-plan
description: This is the free service plan for the Auto-Scaling service.
api_server:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( apiserver_client_cert ))
client_key: (( apiserver_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab apiserver_client_cert ))
client_key: (( grab apiserver_client_key ))

scheduler_properties:
port: 6102
job_reschedule_interval_millisecond: 10000
job_reschedule_maxcount: 6
notification_reschedule_maxcount: 3
ca_cert: (( app_autoscaler_ca_cert ))
server_cert: (( scheduler_server_cert ))
server_key: (( scheduler_server_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
server_cert: (( grab scheduler_server_cert ))
server_key: (( grab scheduler_server_key ))
scaling_engine:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( scalingengine_client_cert ))
client_key: (( scalingengine_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab scalingengine_client_cert ))
client_key: (( grab scalingengine_client_key ))

cf_properties:
api: https://api.bosh-lite.com
Expand All @@ -93,19 +97,19 @@ metricscollector_properties:
port: 6103
collector:
refresh_interval: 30s
ca_cert: (( app_autoscaler_ca_cert ))
server_cert: (( metricscollector_server_cert ))
server_key: (( metricscollector_server_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
server_cert: (( grab metricscollector_server_cert ))
server_key: (( grab metricscollector_server_key ))

scalingengine_properties:
logging:
level: debug
defaultCoolDownSecs: 300
server:
port: 6104
ca_cert: (( app_autoscaler_ca_cert ))
server_cert: (( scalingengine_server_cert ))
server_key: (( scalingengine_server_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
server_cert: (( grab scalingengine_server_cert ))
server_key: (( grab scalingengine_server_key ))
consul:
cluster: http://127.0.0.1:8500

Expand All @@ -115,13 +119,15 @@ eventgenerator_properties:
defaultStatWindowSecs: 300
defaultBreachDurationSecs: 300
scaling_engine:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( scalingengine_client_cert ))
client_key: (( scalingengine_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab scalingengine_client_cert ))
client_key: (( grab scalingengine_client_key ))
metricscollector:
ca_cert: (( app_autoscaler_ca_cert ))
client_cert: (( metricscollector_client_cert ))
client_key: (( metricscollector_client_key ))
ca_cert: (( grab app_autoscaler_ca_cert ))
client_cert: (( grab metricscollector_client_cert ))
client_key: (( grab metricscollector_client_key ))

resource_pool: default

app_autoscaler_ca_cert: |
-----BEGIN CERTIFICATE-----
Expand Down
53 changes: 53 additions & 0 deletions extension-manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
extension:
name: app-autoscaler-cm-deploy
version: 1.0
type: bosh-release
uiconfig:
- name: ext_parameters
title: "Properties for external template sample"
properties:
- name: servicebroker_port
label: "Service broker port"
description: "Port to access service broker"
type: text
validation-regex: "^(?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
mandatory: true
hidden: false
sample-value: "E.g. 35880"
- name: servicebroker_username
label: "Service broker username"
description: "User name for the service broker"
mandatory: true
sample-value: "E.g. admin"
default: "admin"
- name: servicebroker_password
label: "Service broker password"
type: password
mandatory: true
sample-value: "E.g. mypassword"
default: "admin"
- name: api-port
label: "API Port"
description: "Port for api"
type: text
validation-regex: "^(?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
mandatory: true
hidden: false
sample-value: "E.g. 35880"
states:
- name: Sync Blobs
phase: "Syncing Bosh Blobs"
script: bosh2 sync-blobs
- name: Create Release
phase: "Creating a release for App Autoscaler"
script: bosh2 -e IBMCloudPrivate create-release --force --name app-autoscaler
- name: Upload Release
phase: "Uploading a release for App Autoscaler"
script: bosh2 upload-release -e IBMCloudPrivate -d app-autoscaler
- name: Generate deployment yaml
phase: "Generating the deployment yaml"
script: ./scripts/generate-bosh-lite-manifest -r ./manifests/cf-merge-property-overrides.yaml -p ./manifests/property-overrides.yaml -d ./manifests/db-stub-override.yaml -v v1
- name: Deploy App Autoscaler
phase: "Deploying App Autoscaler"
script: bosh2 deploy -e IBMCloudPrivate -d app-autoscaler ./bosh/deployments/autoscaler.yml -n

6 changes: 6 additions & 0 deletions manifests/cf-merge-property-overrides.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
properties: (( prune ))
jobs: (( prune ))
name: (( prune ))
releases: (( prune ))
update: (( prune ))
5 changes: 5 additions & 0 deletions manifests/config-from-cf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
config_from_cf:
properties:
consul: (( grab properties.consul ))
unbound: (( grab properties.unbound ))
nats: (( grab properties.nats ))
68 changes: 68 additions & 0 deletions manifests/db-stub-override.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
policydb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: policydb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: policydb}

schedulerdb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: schedulerdb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: schedulerdb}

scalingenginedb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: scalingenginedb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: scalingenginedb}

appmetricsdb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: appmetricsdb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: appmetricsdb}

instancemetricsdb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: instancemetricsdb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: instancemetricsdb}

bindingdb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: bindingdb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: bindingdb}

lockdb:
address: 192.168.243.203
databases:
- {name: autoscaler, tag: lockdb}
db_scheme: postgres
port: 5432
roles:
- {name: postgres, password: postgres, tag: lockdb}

instance_count_overrides:
- name: postgres
instances: 1

Loading

0 comments on commit ddf7fd7

Please sign in to comment.