Skip to content

Commit a364da4

Browse files
nicolasbenderpbusko
authored andcommitted
Add lifecycle column to the buildpacks table
Co-authored-by: Pavel Busko <[email protected]>
1 parent 375620f commit a364da4

File tree

4 files changed

+20
-1
lines changed

4 files changed

+20
-1
lines changed

app/actions/buildpack_create.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ def create(message)
1414
buildpack = Buildpack.create(
1515
name: message.name,
1616
stack: message.stack,
17+
lifecycle: (message.lifecycle.nil? ? VCAP::CloudController::Config.config.get(:default_app_lifecycle) : message.lifecycle),
1718
enabled: (message.enabled.nil? ? DEFAULT_ENABLED : message.enabled),
1819
locked: (message.locked.nil? ? DEFAULT_LOCKED : message.locked)
1920
)

app/messages/buildpack_create_message.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
require 'messages/metadata_base_message'
22
require 'messages/validators'
3+
require 'cloud_controller/diego/lifecycles/lifecycles'
34

45
module VCAP::CloudController
56
class BuildpackCreateMessage < MetadataBaseMessage
67
MAX_BUILDPACK_NAME_LENGTH = 250
78
MAX_STACK_LENGTH = 250
89

9-
register_allowed_keys %i[name stack position enabled locked]
10+
register_allowed_keys %i[name stack position enabled locked lifecycle]
1011
validates_with NoAdditionalKeysValidator
1112

1213
validates :name,
@@ -32,5 +33,10 @@ class BuildpackCreateMessage < MetadataBaseMessage
3233
validates :locked,
3334
allow_nil: true,
3435
boolean: true
36+
37+
validates :lifecycle,
38+
string: true,
39+
allow_nil: true,
40+
inclusion: { in: [VCAP::CloudController::Lifecycles::BUILDPACK, VCAP::CloudController::Lifecycles::CNB], message: 'must be either "buildpack" or "cnb"' }
3541
end
3642
end

app/presenters/v3/buildpack_presenter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ def to_hash
1313
name: buildpack.name,
1414
stack: buildpack.stack,
1515
state: buildpack.state,
16+
lifecycle: buildpack.lifecycle,
1617
filename: buildpack.filename,
1718
position: buildpack.position,
1819
enabled: buildpack.enabled,
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
require 'cloud_controller/diego/lifecycles/lifecycles'
2+
3+
Sequel.migration do
4+
up do
5+
add_column :buildpacks, :lifecycle, String, size: 16, if_not_exists: true, default: VCAP::CloudController::Lifecycles::BUILDPACK
6+
end
7+
8+
down do
9+
drop_column :buildpacks, :lifecycle, if_exists: true
10+
end
11+
end

0 commit comments

Comments
 (0)