concourse-objects 1.15.2 → 1.32.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/concourse-objects/resources.rb +21 -1
- data/lib/concourse-objects/resources/concourse-pipeline.rb +64 -0
- data/lib/concourse-objects/resources/email.rb +79 -0
- data/lib/concourse-objects/resources/github-list-repos.rb +38 -0
- data/lib/concourse-objects/resources/github-pr.rb +65 -0
- data/lib/concourse-objects/resources/github-webhook.rb +39 -0
- data/lib/concourse-objects/resources/grafana.rb +30 -0
- data/lib/concourse-objects/resources/helm-chart.rb +43 -0
- data/lib/concourse-objects/resources/helm.rb +138 -0
- data/lib/concourse-objects/resources/hipchat-notification.rb +59 -0
- data/lib/concourse-objects/resources/irc-notification.rb +40 -0
- data/lib/concourse-objects/resources/keyval.rb +27 -0
- data/lib/concourse-objects/resources/metadata.rb +23 -0
- data/lib/concourse-objects/resources/mock.rb +23 -0
- data/lib/concourse-objects/resources/rss.rb +24 -0
- data/lib/concourse-objects/resources/rubygems.rb +46 -0
- data/lib/concourse-objects/resources/slack-notification.rb +86 -0
- data/tools/check-resources +1 -1
- metadata +18 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7121ecb8e334f181af68f7b40ec75d172a6b4ee388c3b45c0e5b36ae31fc072b
|
4
|
+
data.tar.gz: 43e83284c3176dc55382428033cc245dc739534922c80eb84af2223daf777688
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cf121abb034bf8d710c4c49d4064a43585925616063ccf0113b2a5821a5f868da767a8305491498ae7cec78837856b6ffa3b75461268e09d5e9a2a463085b5f
|
7
|
+
data.tar.gz: 13283ba6f5d8e68df1c28c5faa2a469c78c18e9c73108281a950e1435949d1da253ba3d864769e984bf07b4c3cbdced6196e7d2c09758f9c9fa717b3c93147fb
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
@@ -10,8 +10,26 @@ require_relative "resources/hg"
|
|
10
10
|
require_relative "resources/pool"
|
11
11
|
require_relative "resources/registry-image"
|
12
12
|
require_relative "resources/s3"
|
13
|
+
require_relative "resources/semver"
|
13
14
|
require_relative "resources/time"
|
14
15
|
|
16
|
+
require_relative "resources/concourse-pipeline"
|
17
|
+
require_relative "resources/email"
|
18
|
+
require_relative "resources/github-list-repos"
|
19
|
+
require_relative "resources/github-pr"
|
20
|
+
require_relative "resources/github-webhook"
|
21
|
+
require_relative "resources/grafana"
|
22
|
+
require_relative "resources/helm"
|
23
|
+
require_relative "resources/helm-chart"
|
24
|
+
require_relative "resources/hipchat-notification"
|
25
|
+
require_relative "resources/irc-notification"
|
26
|
+
require_relative "resources/keyval"
|
27
|
+
require_relative "resources/metadata"
|
28
|
+
require_relative "resources/mock"
|
29
|
+
require_relative "resources/rss"
|
30
|
+
require_relative "resources/rubygems"
|
31
|
+
require_relative "resources/slack-notification"
|
32
|
+
|
15
33
|
module ConcourseObjects
|
16
34
|
module Resources
|
17
35
|
def self.resources
|
@@ -47,7 +65,9 @@ module ConcourseObjects
|
|
47
65
|
def self.owners
|
48
66
|
resources.group_by do |resource|
|
49
67
|
resource.const_get(:GITHUB_OWNER) if resource.const_defined?(:GITHUB_OWNER)
|
50
|
-
end
|
68
|
+
end.sort_by do |key, value|
|
69
|
+
value.count
|
70
|
+
end.reverse.to_h
|
51
71
|
end
|
52
72
|
|
53
73
|
def self.owned_by(owner)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class ConcoursePipeline < Resource
|
8
|
+
RESOURCE_NAME = "concourse-pipeline"
|
9
|
+
GITHUB_OWNER = "concourse"
|
10
|
+
GITHUB_REPOSITORY = "concourse/concourse-pipeline-resource"
|
11
|
+
GITHUB_VERSION = "v2.2.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
class Team < Object
|
15
|
+
required :name, write: AsString
|
16
|
+
|
17
|
+
optional :username, write: AsString
|
18
|
+
optional :password, write: AsString
|
19
|
+
end
|
20
|
+
|
21
|
+
DEFAULT_TARGET = ENV.fetch("ATC_EXTERNAL_URL") { nil }
|
22
|
+
DEFAULT_INSECURE = false
|
23
|
+
|
24
|
+
required :teams, write: AsArrayOf.(Team)
|
25
|
+
|
26
|
+
optional :target, write: AsString, default: proc { DEFAULT_TARGET }
|
27
|
+
optional :insecure, write: AsBoolean, default: proc { DEFAULT_INSECURE }
|
28
|
+
end
|
29
|
+
|
30
|
+
class OutParams < Object
|
31
|
+
class Pipeline < Object
|
32
|
+
DEFAULT_UNPAUSED = false
|
33
|
+
DEFAULT_EXPOSED = false
|
34
|
+
|
35
|
+
required :name, write: AsString
|
36
|
+
required :team, write: AsString
|
37
|
+
required :config_file, write: AsString
|
38
|
+
|
39
|
+
optional :vars_files, write: AsArrayOf.(:to_s)
|
40
|
+
optional :vars, write: AsHashOf.(:to_s, :to_s)
|
41
|
+
optional :unpaused, write: AsBoolean, default: proc { DEFAULT_UNPAUSED }
|
42
|
+
optional :exposed, write: AsBoolean, default: proc { DEFAULT_EXPOSED }
|
43
|
+
end
|
44
|
+
|
45
|
+
optional :pipelines, write: AsArrayOf.(Pipeline)
|
46
|
+
optional :pipelines_file, write: AsString
|
47
|
+
|
48
|
+
def initialize(options = {})
|
49
|
+
super(options) do |this, options|
|
50
|
+
raise KeyError, "#{self.class.inspect} requires one of (pipelines, pipelines_file)." unless (this.pipelines? or this.pipelines_file?)
|
51
|
+
|
52
|
+
yield this, options if block_given?
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
optional :source, write: Source
|
58
|
+
|
59
|
+
def initialize(options = {})
|
60
|
+
super(options.merge(type: "concourse-pipeline"))
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class Email < Resource
|
8
|
+
RESOURCE_NAME = "email"
|
9
|
+
GITHUB_OWNER = "pivotal-cf"
|
10
|
+
GITHUB_REPOSITORY = "pivotal-cf/email-resource"
|
11
|
+
GITHUB_VERSION = "v1.0.17"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
class SMTP < Object
|
15
|
+
DEFAULT_ANONYMOUS = false
|
16
|
+
DEFAULT_SKIP_SSL_VALIDATION = false
|
17
|
+
DEFAULT_HOST_ORIGIN = "localhost"
|
18
|
+
|
19
|
+
required :host, write: AsString
|
20
|
+
required :port, write: AsString
|
21
|
+
|
22
|
+
optional :username, write: AsString
|
23
|
+
optional :password, write: AsString
|
24
|
+
optional :ca_cert, write: AsString
|
25
|
+
optional :anonymous, write: AsBoolean, default: proc { DEFAULT_ANONYMOUS }
|
26
|
+
optional :skip_ssl_validation, write: AsBoolean, default: proc { DEFAULT_SKIP_SSL_VALIDATION }
|
27
|
+
optional :login_auth, write: AsBoolean, default: proc { DEFAULT_LOGIN_AUTH }
|
28
|
+
optional :host_origin, write: AsString, default: proc { DEFAULT_HOST_ORIGIN }
|
29
|
+
|
30
|
+
def initialize(options = {})
|
31
|
+
super(options) do |this, options|
|
32
|
+
raise KeyError, "#{self.class.inspect} requires (username, password) unless (anonymous) is true" unless this.anonymous
|
33
|
+
|
34
|
+
yield this, options if block_given?
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
required :from, write: AsString
|
40
|
+
|
41
|
+
required :to, write: AsArrayOf.(:to_s), default: EmptyArray
|
42
|
+
optional :cc, write: AsArrayOf.(:to_s), default: EmptyArray
|
43
|
+
optional :bcc, write: AsArrayOf.(:to_s), default: EmptyArray
|
44
|
+
end
|
45
|
+
|
46
|
+
class OutParams < Object
|
47
|
+
DEFAULT_SEND_EMPTY_BODY = false
|
48
|
+
DEFAULT_DEBUG = false
|
49
|
+
|
50
|
+
optional :headers, write: AsString
|
51
|
+
optional :subject, write: AsString
|
52
|
+
optional :subject_text, write: AsString
|
53
|
+
optional :body, write: AsString
|
54
|
+
optional :body_text, write: AsString
|
55
|
+
optional :to, write: AsString
|
56
|
+
optional :cc, write: AsString
|
57
|
+
optional :bcc, write: AsString
|
58
|
+
optional :attachment_globs, write: AsArrayOf.(:to_s)
|
59
|
+
optional :send_empty_body, write: AsBoolean, default: proc { DEFAULT_SEND_EMPTY_BODY }
|
60
|
+
optional :debug, write: AsBoolean, default: proc { DEFAULT_DEBUG }
|
61
|
+
|
62
|
+
def initialize(pptions = {})
|
63
|
+
super(options) do |this, options|
|
64
|
+
raise KeyError, "#{self.class.inspect} requires one of (subject, subject_text)" unless (this.subject? or this.subject_text?)
|
65
|
+
raise KeyError, "#{self.class.inspect} requires on of (body, body_text)" unless (this.body? or this.body_text?)
|
66
|
+
|
67
|
+
yield this, options if block_given?
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
optional :source, write: Source
|
73
|
+
|
74
|
+
def initialize(options = {})
|
75
|
+
super(options.merge(type: "email"))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class GitHubListRepos < Resource
|
8
|
+
RESOURCE_NAME = "github-list-repos"
|
9
|
+
GITHUB_OWNER = "coralogix"
|
10
|
+
GITHUB_REPOSITORY = "coralogix/eng-concourse-github-list-repos-resource"
|
11
|
+
GITHUB_VERSION = "v0.3.1"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :"auth-token", write: AsString
|
15
|
+
required :org, write: AsString
|
16
|
+
|
17
|
+
optional :team, write: AsString
|
18
|
+
optional :include_regex, write: AsString
|
19
|
+
optional :exclude_regex, write: AsString
|
20
|
+
optional :exclude, write: AsArrayOf.(:to_s), default: EmptyArray
|
21
|
+
end
|
22
|
+
|
23
|
+
class InParams < Object
|
24
|
+
DEFAULT_OUTPUT_FORMAT = "txt"
|
25
|
+
ACCEPTABLE_OUTPUT_FORMATS = ["txt", "json"]
|
26
|
+
OutputFormatIsAcceptable = proc { |_, output_format| ACCEPTABLE_OUTPUT_FORMATS.include?(output_format) }
|
27
|
+
|
28
|
+
optional :output_format, write: AsString, default: proc { DEFAULT_OUTPUT_FORMAT }, guard: OutputFormatIsAcceptable
|
29
|
+
end
|
30
|
+
|
31
|
+
optional :source, write: Source
|
32
|
+
|
33
|
+
def initialize(options = {})
|
34
|
+
super(options.merge(type: "github-list-repos"))
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class GitHubPR < Resource
|
8
|
+
RESOURCE_NAME = "github-pr"
|
9
|
+
GITHUB_OWNER = "telia-oss"
|
10
|
+
GITHUB_REPOSITORY = "telia-oss/github-pr-resource"
|
11
|
+
GITHUB_VERSION = "v0.18.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :repository, write: AsString
|
15
|
+
required :access_token, write: AsString
|
16
|
+
|
17
|
+
optional :v3_endpoint, write: AsString
|
18
|
+
optional :v4_endpoint, write: AsString
|
19
|
+
optional :paths, write: AsArrayOf.(:to_s)
|
20
|
+
optional :ignore_paths, write: AsArrayOf.(:to_s)
|
21
|
+
optional :disable_ci_skip, write: AsBoolean
|
22
|
+
optional :skip_ssl_verification, write: AsBoolean
|
23
|
+
optional :disable_forks, write: AsBoolean
|
24
|
+
optional :required_review_approvals, write: AsInteger
|
25
|
+
optional :git_crypt_key, write: AsString
|
26
|
+
optional :base_branch, write: AsString
|
27
|
+
optional :labels, write: AsArrayOf.(:to_s)
|
28
|
+
end
|
29
|
+
|
30
|
+
class InParams < Object
|
31
|
+
DEFAULT_INTEGRATION_TOOL = "merge"
|
32
|
+
ACCEPTABLE_INTEGRATION_TOOLS = ["merge", "rebase", "checkout"]
|
33
|
+
IntegrationToolIsAcceptable = proc { |_, integration_tool| ACCEPTABLE_INTEGRATION_TOOLS.include?(integration_tool) }
|
34
|
+
|
35
|
+
optional :skip_download, write: AsBoolean
|
36
|
+
optional :list_changed_files, write: AsBoolean
|
37
|
+
optional :git_depth, write: AsInteger
|
38
|
+
optional :integration_tool, write: AsString, default: proc { DEFAULT_INTEGRATION_TOOL }, guard: IntegrationToolIsAcceptable
|
39
|
+
end
|
40
|
+
|
41
|
+
class OutParams < Object
|
42
|
+
DEFAULT_BASE_CONTEXT = "concourse-ci"
|
43
|
+
DEFAULT_CONTEXT = "status"
|
44
|
+
ACCEPTABLE_STATUSES = ["SUCCESS", "PENDING", "FAILURE", "ERROR"]
|
45
|
+
StatusIsAcceptable = proc { |_, status| ACCEPTABLE_STATUSES.include?(status) }
|
46
|
+
|
47
|
+
required :path, write: AsString
|
48
|
+
|
49
|
+
optional :status, write: AsString, guard: StatusIsAcceptable
|
50
|
+
optional :base_context, write: AsString, default: proc { DEFAULT_BASE_CONTEXT }
|
51
|
+
optional :context, write: AsString, default: proc { DEFAULT_CONTEXT }
|
52
|
+
optional :comment, write: AsString
|
53
|
+
optional :comment_file, write: AsString
|
54
|
+
optional :description, write: AsString
|
55
|
+
optional :target_url, write: AsString
|
56
|
+
end
|
57
|
+
|
58
|
+
optional :source, write: Source
|
59
|
+
|
60
|
+
def initialize(options = {})
|
61
|
+
super(options.merge(type: "github-pr"))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class GitHubWebhook < Resource
|
8
|
+
RESOURCE_NAME = "github-webhook"
|
9
|
+
GITHUB_OWNER = "homedepot"
|
10
|
+
GITHUB_REPOSITORY = "homedepot/github-webhook-resource"
|
11
|
+
GITHUB_VERSION = "v1.1.1"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :github_api, write: AsString
|
15
|
+
required :github_token, write: AsString
|
16
|
+
end
|
17
|
+
|
18
|
+
class OutParams < Object
|
19
|
+
DEFAULT_EVENTS = ["push"].freeze
|
20
|
+
ACCEPTABLE_OPERATIONS = ["create", "delete"].freeze
|
21
|
+
OperationIsAcceptable = proc { |_, operation| ACCEPTABLE_OPERATIONS.include?(operation) }
|
22
|
+
|
23
|
+
required :org, write: AsString
|
24
|
+
required :repo, write: AsString
|
25
|
+
required :resource_name, write: AsString
|
26
|
+
required :webhook_token, write: AsString
|
27
|
+
required :operation, write: AsString, guard: OperationIsAcceptable
|
28
|
+
|
29
|
+
optional :events, write: AsArrayOf.(:to_s), default: proc { DEFAULT_EVENTS }
|
30
|
+
end
|
31
|
+
|
32
|
+
optional :source, write: Source
|
33
|
+
|
34
|
+
def initialize(options = {})
|
35
|
+
super(options.merge(type: "github-webhook"))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class Grafana < Resource
|
8
|
+
RESOURCE_NAME = "grafana"
|
9
|
+
GITHUB_OWNER = "telia-oss"
|
10
|
+
GITHUB_REPOSITORY = "telia-oss/grafana-resource"
|
11
|
+
GITHUB_VERSION = "v0.0.2"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :grafana_url, write: AsString
|
15
|
+
required :grafana_token, write: AsString
|
16
|
+
end
|
17
|
+
|
18
|
+
class OutParams < Object
|
19
|
+
required :dashboard_id, write: AsString
|
20
|
+
required :panels, write: AsString
|
21
|
+
end
|
22
|
+
|
23
|
+
optional :source, write: Source
|
24
|
+
|
25
|
+
def initialize(options = {})
|
26
|
+
super(options.merge(type: "grafana"))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class HelmChart < Resource
|
8
|
+
RESOURCE_NAME = "helm-chart"
|
9
|
+
GITHUB_OWNER = "linkyard"
|
10
|
+
GITHUB_REPOSITORY = "linkyard/helm-chart-resource"
|
11
|
+
GITHUB_VERSION = "v0.1.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
class Repo < Object
|
15
|
+
required :name, write: AsString
|
16
|
+
required :url, write: AsString
|
17
|
+
|
18
|
+
optional :username, write: AsString
|
19
|
+
optional :password, write: AsString
|
20
|
+
end
|
21
|
+
|
22
|
+
required :chart, write: AsString
|
23
|
+
|
24
|
+
optional :repos, write: AsArrayOf.(Repo), default: EmptyArray
|
25
|
+
end
|
26
|
+
|
27
|
+
class InParams < Object
|
28
|
+
DEFAULT_UNTAR = false
|
29
|
+
DEFAULT_VERIFY = false
|
30
|
+
|
31
|
+
optional :untardir, write: AsString
|
32
|
+
optional :untar, write: AsBoolean, default: proc { DEFAULT_UNTAR }
|
33
|
+
optional :verify, write: AsBoolean, default: proc { DEFAULT_VERIFY }
|
34
|
+
end
|
35
|
+
|
36
|
+
optional :source, write: Source
|
37
|
+
|
38
|
+
def initialize(options = {})
|
39
|
+
super(options.merge(type: "helm-chart"))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,138 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class Helm < Resource
|
8
|
+
RESOURCE_NAME = "helm"
|
9
|
+
GITHUB_OWNER = "linkyard"
|
10
|
+
GITHUB_REPOSITORY = "linkyard/concourse-helm-resource"
|
11
|
+
GITHUB_VERSION = "2.14.1-1"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
class Plugin < Object
|
15
|
+
required :url, write: AsString
|
16
|
+
|
17
|
+
optional :version, write: AsString
|
18
|
+
end
|
19
|
+
|
20
|
+
class Repo < Object
|
21
|
+
required :name, write: AsString
|
22
|
+
required :url, write: AsString
|
23
|
+
|
24
|
+
optional :username, write: AsString
|
25
|
+
optional :password, write: AsString
|
26
|
+
end
|
27
|
+
|
28
|
+
DEFAULT_HELM_INIT_SERVER = false
|
29
|
+
DEFAULT_HELM_INIT_WAIT = false
|
30
|
+
DEFAULT_HELM_LIBRARY_MAX = 0
|
31
|
+
DEFAULT_HELM_SETUP_PURGE_ALL = false
|
32
|
+
DEFAULT_KUBECONFIG_NAMESPACE = false
|
33
|
+
DEFAULT_KUBECONFIG_TILLER_NAMESPACE = false
|
34
|
+
DEFAULT_NAMESPACE = "default"
|
35
|
+
DEFAULT_TILLER_NAMESPACE = "kube-system"
|
36
|
+
DEFAULT_TILLERLESS = false
|
37
|
+
DEFAULT_TLS_ENABLED = false
|
38
|
+
DEFAULT_TRACING_ENABLED = false
|
39
|
+
|
40
|
+
optional :repos, write: AsArrayOf.(Repo)
|
41
|
+
optional :plugins, write: AsArrayOf.(Plugin)
|
42
|
+
optional :admin_cert, write: AsString
|
43
|
+
optional :admin_key, write: AsString
|
44
|
+
optional :cluster_ca, write: AsString
|
45
|
+
optional :cluster_url, write: AsString
|
46
|
+
optional :helm_ca, write: AsString
|
47
|
+
optional :helm_cert, write: AsString
|
48
|
+
optional :helm_host, write: AsString
|
49
|
+
optional :helm_key, write: AsString
|
50
|
+
optional :release, write: AsString
|
51
|
+
optional :stable_repo, write: AsString
|
52
|
+
optional :tiller_cert, write: AsString
|
53
|
+
optional :tiller_key, write: AsString
|
54
|
+
optional :tiller_service_account, write: AsString
|
55
|
+
optional :token, write: AsString
|
56
|
+
optional :token_path, write: AsString
|
57
|
+
optional :namespace, write: AsString, default: proc { DEFAULT_NAMESPACE }
|
58
|
+
optional :tiller_namespace, write: AsString, default: proc { DEFAULT_TILLER_NAMESPACE }
|
59
|
+
optional :helm_history_max, write: AsInteger, default: proc { DEFAULT_HELM_LIBRARY_MAX }
|
60
|
+
optional :helm_init_server, write: AsBoolean, default: proc { DEFAULT_HELM_INIT_SERVER }
|
61
|
+
optional :helm_init_wait, write: AsBoolean, default: proc { DEFAULT_HELM_INIT_WAIT }
|
62
|
+
optional :helm_setup_purge_all, write: AsBoolean, default: proc { DEFAULT_HELM_SETUP_PURGE_ALL }
|
63
|
+
optional :kubeconfig_namespace, write: AsBoolean, default: proc { DEFAULT_KUBECONFIG_NAMESPACE }
|
64
|
+
optional :kubeconfig_tiller_namespace, write: AsBoolean, default: proc { DEFAULT_KUBECONFIG_TILLER_NAMESPACE }
|
65
|
+
optional :tillerless, write: AsBoolean, default: proc { DEFAULT_TILLERLESS }
|
66
|
+
optional :tls_enabled, write: AsBoolean, default: proc { DEFAULT_TLS_ENABLED }
|
67
|
+
optional :tracing_enabled, write: AsBoolean, default: proc { DEFAULT_TRACING_ENABLED }
|
68
|
+
|
69
|
+
def initialize(options = {})
|
70
|
+
super(options) do |this, options|
|
71
|
+
raise KeyError, "#{self.class.inspect} requires one of (token, token_path, (admin_key, admin_cert))" unless (this.token? or this.token_path? or (this.admin_key? and this.admin_cert?))
|
72
|
+
|
73
|
+
unless this.tls_enabled
|
74
|
+
this.tiller_cert = nil
|
75
|
+
this.tiller_key = nil
|
76
|
+
this.helm_ca = nil
|
77
|
+
this.helm_cert = nil
|
78
|
+
this.helm_key = nil
|
79
|
+
end
|
80
|
+
|
81
|
+
this.tiller_service_account = nil unless this.helm_init_server
|
82
|
+
|
83
|
+
yield this, options if block_given?
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
class OutParams < Object
|
89
|
+
DEFAULT_CHECK_IS_READY = false
|
90
|
+
DEFAULT_DEBUG = false
|
91
|
+
DEFAULT_DELETE = false
|
92
|
+
DEFAULT_DEVEL = false
|
93
|
+
DEFAULT_EXIT_AFTER_DIFF = false
|
94
|
+
DEFAULT_FORCE = false
|
95
|
+
DEFAULT_PURGE = false
|
96
|
+
DEFAULT_RECREATE_PODS = false
|
97
|
+
DEFAULT_REPLACE = false
|
98
|
+
DEFAULT_RESET_VALUES = false
|
99
|
+
DEFAULT_REUSE_VALUES = false
|
100
|
+
DEFAULT_SHOW_DIFF = false
|
101
|
+
DEFAULT_TEST = false
|
102
|
+
DEFAULT_WAIT = 0
|
103
|
+
DEFAULT_WAIT_UNTIL_READY = false
|
104
|
+
|
105
|
+
required :chart, write: AsString
|
106
|
+
|
107
|
+
optional :kubeconfig_path, write: AsString
|
108
|
+
optional :namespace, write: AsString
|
109
|
+
optional :release, write: AsString
|
110
|
+
optional :token_path, write: AsString
|
111
|
+
optional :values, write: AsString
|
112
|
+
optional :version, write: AsString
|
113
|
+
optional :override_values, write: AsArrayOf.(AsHash), default: EmptyArray
|
114
|
+
optional :check_is_ready, write: AsBoolean, default: proc { DEFAULT_CHECK_IS_READY }
|
115
|
+
optional :debug, write: AsBoolean, default: proc { DEFAULT_DEBUG }
|
116
|
+
optional :delete, write: AsBoolean, default: proc { DEFAULT_DELETE }
|
117
|
+
optional :devel, write: AsBoolean, default: proc { DEFAULT_DEVEL }
|
118
|
+
optional :exit_after_diff, write: AsBoolean, default: proc { DEFAULT_EXIT_AFTER_DIFF }
|
119
|
+
optional :force, write: AsBoolean, default: proc { DEFAULT_FORCE }
|
120
|
+
optional :purge, write: AsBoolean, default: proc { DEFAULT_PURGE }
|
121
|
+
optional :recreate_pods, write: AsBoolean, default: proc { DEFAULT_RECREATE_PODS }
|
122
|
+
optional :replace, write: AsBoolean, default: proc { DEFAULT_REPLACE }
|
123
|
+
optional :reset_values, write: AsBoolean, default: proc { DEFAULT_RESET_VALUES }
|
124
|
+
optional :reuse_values, write: AsBoolean, default: proc { DEFAULT_REUSE_VALUES }
|
125
|
+
optional :show_diff, write: AsBoolean, default: proc { DEFAULT_SHOW_DIFF }
|
126
|
+
optional :test, write: AsBoolean, default: proc { DEFAULT_TEST }
|
127
|
+
optional :wait, write: AsInteger, default: proc { DEFAULT_WAIT }
|
128
|
+
optional :wait_until_ready, write: AsInteger, default: proc { DEFAULT_WAIT_UNTIL_READY }
|
129
|
+
end
|
130
|
+
|
131
|
+
optional :source, write: Source
|
132
|
+
|
133
|
+
def initialize(options = {})
|
134
|
+
super(options.merge(type: "helm"))
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class HipChatNotification < Resource
|
8
|
+
RESOURCE_NAME = "hipchat-notification"
|
9
|
+
GITHUB_OWNER = "cloudfoundry-community"
|
10
|
+
GITHUB_REPOSITORY = "cloudfoundry-community/hipchat-notification-resource"
|
11
|
+
GITHUB_VERSION = "v0.0.4"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :hipchat_server_url, write: AsString
|
15
|
+
required :token, write: AsString
|
16
|
+
|
17
|
+
optional :room_id, write: AsString
|
18
|
+
end
|
19
|
+
|
20
|
+
class OutParams < Object
|
21
|
+
class Message < Object
|
22
|
+
required :template, write: AsString
|
23
|
+
required :params, write: AsHashOf.(:to_s, :to_s)
|
24
|
+
|
25
|
+
def self.call(object)
|
26
|
+
case object
|
27
|
+
when String then new(template: object, params: {})
|
28
|
+
else super(object)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
DEFAULT_COLOR = "yellow"
|
34
|
+
DEFAULT_FORMAT = "html"
|
35
|
+
DEFAULT_NOTIFY = 0
|
36
|
+
|
37
|
+
ACCEPTABLE_COLORS = ["yellow", "red", "green", "purple", "gray", "random"]
|
38
|
+
ACCEPTABLE_FORMATS = ["html", "text"]
|
39
|
+
|
40
|
+
AsBooleanInteger = proc { |source| (source == 0) ? false : (AsBoolean.(source) ? 1 : 0) }
|
41
|
+
ColorIsAcceptable = proc { |_, color| ACCEPTABLE_COLORS.include?(color) }
|
42
|
+
FormatIsAcceptable = proc { |_, format| ACCEPTABLE_FORMATS.include?(color) }
|
43
|
+
|
44
|
+
required :from, write: AsString
|
45
|
+
required :message, write: Message
|
46
|
+
|
47
|
+
optional :color, write: AsString, default: proc { DEFAULT_COLOR }, guard: ColorIsAcceptable
|
48
|
+
optional :format, write: AsString, default: proc { DEFAULT_FORMAT }, guard: FormatIsAcceptable
|
49
|
+
optional :notify, write: AsBooleanInteger, default: proc { DEFAULT_NOTIFY }
|
50
|
+
end
|
51
|
+
|
52
|
+
optional :source, write: Source
|
53
|
+
|
54
|
+
def initialize(options = {})
|
55
|
+
super(options.merge(type: "hipchat-notification"))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class IRCNotification < Resource
|
8
|
+
RESOURCE_NAME = "irc-notification"
|
9
|
+
GITHUB_OWNER = "flavorjones"
|
10
|
+
GITHUB_REPOSITORY = "flavorjones/irc-notification-resource"
|
11
|
+
GITHUB_VERSION = "v1.2.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
DEFAULT_USETLS = true
|
15
|
+
DEFAULT_JOIN = false
|
16
|
+
DEFAULT_DEBUG = false
|
17
|
+
|
18
|
+
required :server, write: AsString
|
19
|
+
required :port, write: AsInteger
|
20
|
+
required :channel, write: AsString
|
21
|
+
required :user, write: AsString
|
22
|
+
required :password, write: AsString
|
23
|
+
|
24
|
+
optional :usetls, write: AsBoolean, default: proc { DEFAULT_USETLS }
|
25
|
+
optional :join, write: AsBoolean, default: proc { DEFAULT_JOIN }
|
26
|
+
optional :debug, write: AsBoolean, default: proc { DEFAULT_DEBUG }
|
27
|
+
end
|
28
|
+
|
29
|
+
class OutParams < Object
|
30
|
+
required :message, write: AsString
|
31
|
+
end
|
32
|
+
|
33
|
+
optional :source, write: Source
|
34
|
+
|
35
|
+
def initialize(options = {})
|
36
|
+
super(options.merge(type: "irc-notification"))
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class KeyVal < Resource
|
8
|
+
RESOURCE_NAME = "keyval"
|
9
|
+
GITHUB_OWNER = "SWCE"
|
10
|
+
GITHUB_REPOSITORY = "SWCE/keyval-resource"
|
11
|
+
GITHUB_VERSION = "1.0.6"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
end
|
15
|
+
|
16
|
+
class OutParams < Object
|
17
|
+
required :file, write: AsString
|
18
|
+
end
|
19
|
+
|
20
|
+
optional :source, write: Source
|
21
|
+
|
22
|
+
def initialize(options = {})
|
23
|
+
super(options.merge(type: "keyval"))
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class Metadata < Resource
|
8
|
+
RESOURCE_NAME = "metadata"
|
9
|
+
GITHUB_OWNER = "SWCE"
|
10
|
+
GITHUB_REPOSITORY = "SWCE/metadata-resource"
|
11
|
+
GITHUB_VERSION = "v0.0.3"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
end
|
15
|
+
|
16
|
+
optional :source, write: Source
|
17
|
+
|
18
|
+
def initialize(options = {})
|
19
|
+
super(options.merge(type: "metadata"))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class Mock < Resource
|
8
|
+
RESOURCE_NAME = "mock"
|
9
|
+
GITHUB_OWNER = "concourse"
|
10
|
+
GITHUB_REPOSITORY = "concourse/mock-resource"
|
11
|
+
GITHUB_VERSION = "v0.6.1"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
end
|
15
|
+
|
16
|
+
optional :source, write: Source
|
17
|
+
|
18
|
+
def initialize(options = {})
|
19
|
+
super(options.merge(type: "mock"))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class RSS < Resource
|
8
|
+
RESOURCE_NAME = "rss"
|
9
|
+
GITHUB_OWNER = "suhlig"
|
10
|
+
GITHUB_REPOSITORY = "suhlig/concourse-rss-resource"
|
11
|
+
GITHUB_VERSION = "v1.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
required :uri, write: AsString
|
15
|
+
end
|
16
|
+
|
17
|
+
optional :source, write: Source
|
18
|
+
|
19
|
+
def initialize(options = {})
|
20
|
+
super(options.merge(type: "rss"))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class RubyGems < Resource
|
8
|
+
RESOURCE_NAME = "rubygems"
|
9
|
+
GITHUB_OWNER = "troykinsella"
|
10
|
+
GITHUB_REPOSITORY = "troykinsella/concourse-rubygems-resource"
|
11
|
+
GITHUB_VERSION = "1.0.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
DEFAULT_PRERELEASE = false
|
15
|
+
DEFAULT_SOURCE_URL = "https://rubygems.org"
|
16
|
+
|
17
|
+
required :gem_name, write: AsString
|
18
|
+
|
19
|
+
optional :apt_keys, write: AsArrayOf.(:to_s)
|
20
|
+
optional :apt_sources, write: AsArrayOf.(:to_s)
|
21
|
+
optional :deb_packages, write: AsArrayOf.(:to_s)
|
22
|
+
optional :credentials, write: AsString
|
23
|
+
optional :source_url, write: AsString, default: proc { DEFAULT_SOURCE_URL }
|
24
|
+
end
|
25
|
+
|
26
|
+
class InParams < Object
|
27
|
+
DEFAULT_SKIP_DOWNLOAD = false
|
28
|
+
|
29
|
+
optional :install_options, write: AsArrayOf.(:to_s)
|
30
|
+
optional :skip_download, write: AsBoolean, default: proc { DEFAULT_SKIP_DOWNLOAD }
|
31
|
+
end
|
32
|
+
|
33
|
+
class OutParams < Object
|
34
|
+
required :gem_dir, write: AsString
|
35
|
+
optional :gem_regex, write: AsString
|
36
|
+
optional :key_name, write: AsString
|
37
|
+
end
|
38
|
+
|
39
|
+
optional :source, write: Source
|
40
|
+
|
41
|
+
def initialize(options = {})
|
42
|
+
super(options.merge(type: "mock"))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../concourse-objects"
|
4
|
+
|
5
|
+
module ConcourseObjects
|
6
|
+
module Resources
|
7
|
+
class SlackNotification < Resource
|
8
|
+
RESOURCE_NAME = "slack-notification"
|
9
|
+
GITHUB_OWNER = "cloudfoundry-community"
|
10
|
+
GITHUB_REPOSITORY = "cloudfoundry-community/slack-notification-resource"
|
11
|
+
GITHUB_VERSION = "v1.5.0"
|
12
|
+
|
13
|
+
class Source < Object
|
14
|
+
DEFAULT_PROXY_HTTP_TUNNEL = false
|
15
|
+
DEFAULT_DISABLE = false
|
16
|
+
DEFAULT_INSECURE = false
|
17
|
+
|
18
|
+
required :url, write: AsString
|
19
|
+
|
20
|
+
optional :proxy, write: AsString
|
21
|
+
optional :ca_certs, write: AsArrayOf.(:to_s), default: EmptyArray
|
22
|
+
optional :proxy_https_tunnel, write: AsBoolean, default: proc { DEFAULT_PROXY_HTTP_TUNNEL}
|
23
|
+
optional :disable, write: AsBoolean, default: proc { DEFAULT_DISABLE }
|
24
|
+
optional :insecure, write: AsBoolean
|
25
|
+
end
|
26
|
+
|
27
|
+
class OutParams < Object
|
28
|
+
class Attachment < Object
|
29
|
+
class Field < Object
|
30
|
+
DEFAULT_SHORT = false
|
31
|
+
|
32
|
+
optional :title, write: AsString
|
33
|
+
optional :value, write: AsString
|
34
|
+
optional :short, write: AsBoolean, default: proc { DEFAULT_SHORT }
|
35
|
+
end
|
36
|
+
|
37
|
+
optional :fallback, write: AsString
|
38
|
+
optional :color, write: AsString
|
39
|
+
optional :pretext, write: AsString
|
40
|
+
optional :author_name, write: AsString
|
41
|
+
optional :author_link, write: AsString
|
42
|
+
optional :author_icon, write: AsString
|
43
|
+
optional :title, write: AsString
|
44
|
+
optional :title_link, write: AsString
|
45
|
+
optional :image_url, write: AsString
|
46
|
+
optional :thumb_url, write: AsString
|
47
|
+
optional :footer, write: AsString
|
48
|
+
optional :footer_icon, write: AsString
|
49
|
+
optional :ts, write: AsInteger
|
50
|
+
optional :fields, write: AsArrayOf.(Field), default: EmptyArray
|
51
|
+
end
|
52
|
+
|
53
|
+
DEFAULT_SILENT = false
|
54
|
+
DEFAULT_ALWAYS_NOTIFY = false
|
55
|
+
|
56
|
+
optional :text, write: AsString
|
57
|
+
optional :text_file, write: AsString
|
58
|
+
optional :attachments_file, write: AsString
|
59
|
+
optional :attachments, write: AsArrayOf.(Attachment), default: EmptyArray
|
60
|
+
|
61
|
+
optional :silent, write: AsBoolean, default: proc { DEFAULT_SILENT }
|
62
|
+
optional :always_notify, write: AsBoolean, default: proc { DEFAULT_ALWAYS_NOTIFY }
|
63
|
+
optional :channel, write: AsString
|
64
|
+
optional :channel_file, write: AsString
|
65
|
+
optional :env_file, write: AsString
|
66
|
+
optional :username, write: AsString
|
67
|
+
optional :icon_url, write: AsString
|
68
|
+
optional :icon_emoji, write: AsString
|
69
|
+
|
70
|
+
def initialize(options = {})
|
71
|
+
super(options) do |this, options|
|
72
|
+
raise KeyError, "#{self.class.inspect} requires one of (text, text_file, attachments, attachments_file)" unless (this.text? or this.text_file? or this.attachments? or this.attachments_file?)
|
73
|
+
|
74
|
+
yield this, options if block_given?
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
optional :source, write: Source
|
80
|
+
|
81
|
+
def initialize(options = {})
|
82
|
+
super(options.merge(type: "slack-notification"))
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/tools/check-resources
CHANGED
@@ -26,7 +26,7 @@ TTY::Table.new(header: ["name", "repository", "expected", "actual"]).yield_self
|
|
26
26
|
Octokit::Client.new(access_token: ENV["GITHUB_ACCESS_TOKEN"], auto_paginate: true).yield_self do |github|
|
27
27
|
ConcourseObjects::Resources.resources.sort_by { |resource| resource::GITHUB_REPOSITORY }.each do |resource|
|
28
28
|
WhileSpinning.("#{resource::RESOURCE_NAME} (#{resource::GITHUB_REPOSITORY})") do
|
29
|
-
github.latest_release(resource::GITHUB_REPOSITORY).
|
29
|
+
github.latest_release(resource::GITHUB_REPOSITORY).tag_name.yield_self do |version|
|
30
30
|
results << [resource::RESOURCE_NAME, resource::GITHUB_REPOSITORY, resource::GITHUB_VERSION, version]
|
31
31
|
|
32
32
|
resource::GITHUB_VERSION == version
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: concourse-objects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.32.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Olstrom
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
APmVyMIj8BOONTIc1ZAHLsGH0+fQFhCPG9W2o8uyakRimIHxDPHpr7HT3s5+vlIR
|
35
35
|
++pdkR83HVNOuHEO3yPK2bf7NGJpNbcM
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2019-08-
|
37
|
+
date: 2019-08-22 00:00:00.000000000 Z
|
38
38
|
dependencies: []
|
39
39
|
description:
|
40
40
|
email: chris@olstrom.com
|
@@ -52,14 +52,30 @@ files:
|
|
52
52
|
- lib/concourse-objects/resources/bosh-io-release.rb
|
53
53
|
- lib/concourse-objects/resources/bosh-io-stemcell.rb
|
54
54
|
- lib/concourse-objects/resources/cf.rb
|
55
|
+
- lib/concourse-objects/resources/concourse-pipeline.rb
|
55
56
|
- lib/concourse-objects/resources/docker-image.rb
|
57
|
+
- lib/concourse-objects/resources/email.rb
|
56
58
|
- lib/concourse-objects/resources/git.rb
|
59
|
+
- lib/concourse-objects/resources/github-list-repos.rb
|
60
|
+
- lib/concourse-objects/resources/github-pr.rb
|
57
61
|
- lib/concourse-objects/resources/github-release.rb
|
62
|
+
- lib/concourse-objects/resources/github-webhook.rb
|
63
|
+
- lib/concourse-objects/resources/grafana.rb
|
64
|
+
- lib/concourse-objects/resources/helm-chart.rb
|
65
|
+
- lib/concourse-objects/resources/helm.rb
|
58
66
|
- lib/concourse-objects/resources/hg.rb
|
67
|
+
- lib/concourse-objects/resources/hipchat-notification.rb
|
68
|
+
- lib/concourse-objects/resources/irc-notification.rb
|
69
|
+
- lib/concourse-objects/resources/keyval.rb
|
70
|
+
- lib/concourse-objects/resources/metadata.rb
|
71
|
+
- lib/concourse-objects/resources/mock.rb
|
59
72
|
- lib/concourse-objects/resources/pool.rb
|
60
73
|
- lib/concourse-objects/resources/registry-image.rb
|
74
|
+
- lib/concourse-objects/resources/rss.rb
|
75
|
+
- lib/concourse-objects/resources/rubygems.rb
|
61
76
|
- lib/concourse-objects/resources/s3.rb
|
62
77
|
- lib/concourse-objects/resources/semver.rb
|
78
|
+
- lib/concourse-objects/resources/slack-notification.rb
|
63
79
|
- lib/concourse-objects/resources/time.rb
|
64
80
|
- tools/check-resources
|
65
81
|
- tools/test
|
metadata.gz.sig
CHANGED
Binary file
|