cirro-ruby-client 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +77 -5
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile.lock +14 -16
- data/README.md +15 -0
- data/lib/cirro_io/client/base.rb +20 -0
- data/lib/cirro_io/client/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0d061a9b240178ba1982a8afab295b214d060ab159fbdcedca4029a1a0b702a
|
4
|
+
data.tar.gz: 8a97b77f43397c611c186394a2882592fff533579507a3a80d6c21277585b59d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ff6817b1b04bcd964c1b442d883d0f7d6d602f811c949303b7c9dd5a01ca894ea754daf6fbc4d2a2942255f1b9ef7879eebf10261221dbde4e59087f235b2eb
|
7
|
+
data.tar.gz: c568caf210771fb06aca9ae1e67c883dfb9cfb35549104a3bb942c15e9105b5435e74a2976578a19cdbb3f587fd32aea5569ef6840127b181754573de1941a6c
|
data/.circleci/config.yml
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
version: 2.1
|
2
|
+
infra_container: &infra_container
|
3
|
+
eu.gcr.io/cirro-io/swissknife@sha256:1dceb221bfc058c4ba22fe4dcbf4f30dfdc10951bc2293d5c53aebc4f87037f3
|
4
|
+
|
5
|
+
# Configure authentication in private registry
|
6
|
+
infra_container_registry_auth:
|
7
|
+
&infra_container_registry_auth
|
8
|
+
auth:
|
9
|
+
username: _json_key # default username when using a JSON key file to authenticate
|
10
|
+
password: $GOOGLE_JSON_KEY
|
2
11
|
|
3
12
|
jobs:
|
4
|
-
|
13
|
+
test:
|
5
14
|
docker:
|
6
|
-
- image:
|
15
|
+
- image: cimg/ruby:2.7.1-node
|
7
16
|
environment:
|
8
17
|
- RAILS_ENV=test
|
9
18
|
- RACK_ENV=test
|
@@ -25,9 +34,10 @@ jobs:
|
|
25
34
|
- run:
|
26
35
|
name: Check code style
|
27
36
|
command: bundle exec rubocop
|
37
|
+
|
28
38
|
deploy:
|
29
39
|
docker:
|
30
|
-
- image:
|
40
|
+
- image: cimg/ruby:2.7.1-node
|
31
41
|
steps:
|
32
42
|
- checkout
|
33
43
|
- run:
|
@@ -56,14 +66,76 @@ jobs:
|
|
56
66
|
gem push cirro-ruby-client-$version.gem
|
57
67
|
shred -u ~/.gem/credentials
|
58
68
|
|
69
|
+
defectdojo:
|
70
|
+
docker:
|
71
|
+
- image: *infra_container
|
72
|
+
<<: *infra_container_registry_auth
|
73
|
+
environment:
|
74
|
+
- DEFECTDOJO_URL: defectdojo.testcloud.io
|
75
|
+
- DEFECTDOJO_PRODUCT: Cirro Ruby Client
|
76
|
+
- DEFECTDOJO_ENG_NAME: CircleCI Scan
|
77
|
+
steps:
|
78
|
+
- checkout
|
79
|
+
- run:
|
80
|
+
name: Setup access to GCP
|
81
|
+
command: |
|
82
|
+
echo $GOOGLE_JSON_KEY > ${HOME}/gcloud-service-key.json && \
|
83
|
+
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
|
84
|
+
gcloud auth configure-docker
|
85
|
+
- run:
|
86
|
+
name: Scans
|
87
|
+
command: |
|
88
|
+
unset GITHUB_TOKEN && trivy fs --exit-code 0 --no-progress --ignorefile .trivyignore-fake --format json --output filesystem-scan.json .
|
89
|
+
gitleaks detect --no-git --exit-code 0 --report-format json --report-path gitleaks.json
|
90
|
+
- run:
|
91
|
+
name: Send data to DefectDojo
|
92
|
+
command: |
|
93
|
+
export DEFECTDOJO_TOKEN=$(gcloud secrets versions access latest \
|
94
|
+
--secret="defectdojo_token" \
|
95
|
+
--project=cirro-io \
|
96
|
+
--quiet)
|
97
|
+
|
98
|
+
# Send Trivy filesystem scan
|
99
|
+
curl --fail --request POST https://$DEFECTDOJO_URL/api/v2/reimport-scan/ \
|
100
|
+
--header "Authorization: Token $DEFECTDOJO_TOKEN" \
|
101
|
+
--form "active=true" \
|
102
|
+
--form "auto_create_context=true" \
|
103
|
+
--form "branch_tag=${CIRCLE_BRANCH}" \
|
104
|
+
--form "commit_hash=${CIRCLE_SHA1}" \
|
105
|
+
--form "close_old_findings=true" \
|
106
|
+
--form "scan_type=Trivy Scan" \
|
107
|
+
--form "test_title=Trivy application scan" \
|
108
|
+
--form "engagement_name=${DEFECTDOJO_ENG_NAME}" \
|
109
|
+
--form "product_name=${DEFECTDOJO_PRODUCT}" \
|
110
|
+
--form "file=@filesystem-scan.json"
|
111
|
+
|
112
|
+
# Send Gitleaks scan
|
113
|
+
curl --fail --request POST https://$DEFECTDOJO_URL/api/v2/reimport-scan/ \
|
114
|
+
--header "Authorization: Token $DEFECTDOJO_TOKEN" \
|
115
|
+
--form "active=true" \
|
116
|
+
--form "auto_create_context=true" \
|
117
|
+
--form "branch_tag=${CIRCLE_BRANCH}" \
|
118
|
+
--form "commit_hash=${CIRCLE_SHA1}" \
|
119
|
+
--form "close_old_findings=true" \
|
120
|
+
--form "scan_type=Gitleaks Scan" \
|
121
|
+
--form "test_title=Gitleaks Scan" \
|
122
|
+
--form "engagement_name=${DEFECTDOJO_ENG_NAME}" \
|
123
|
+
--form "product_name=${DEFECTDOJO_PRODUCT}" \
|
124
|
+
--form "file=@gitleaks.json"
|
125
|
+
|
59
126
|
workflows:
|
60
127
|
version: 2
|
61
128
|
deploy_the_gem:
|
62
129
|
jobs:
|
63
|
-
-
|
130
|
+
- test
|
64
131
|
- deploy:
|
65
132
|
requires:
|
66
|
-
-
|
133
|
+
- test
|
134
|
+
filters:
|
135
|
+
branches:
|
136
|
+
only:
|
137
|
+
- master
|
138
|
+
- defectdojo:
|
67
139
|
filters:
|
68
140
|
branches:
|
69
141
|
only:
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
55
55
|
## Enforcement
|
56
56
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
-
reported by contacting the project team at
|
58
|
+
reported by contacting the project team at devs@test.io. All
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cirro-ruby-client (1.6.
|
4
|
+
cirro-ruby-client (1.6.2)
|
5
5
|
faraday (< 1.2.0)
|
6
6
|
faraday_middleware
|
7
7
|
json_api_client (>= 1.10.0)
|
@@ -10,19 +10,18 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
activemodel (
|
14
|
-
activesupport (=
|
15
|
-
activesupport (
|
13
|
+
activemodel (7.0.2.3)
|
14
|
+
activesupport (= 7.0.2.3)
|
15
|
+
activesupport (7.0.2.3)
|
16
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
17
17
|
i18n (>= 1.6, < 2)
|
18
18
|
minitest (>= 5.1)
|
19
19
|
tzinfo (~> 2.0)
|
20
|
-
|
21
|
-
addressable (2.7.0)
|
20
|
+
addressable (2.8.0)
|
22
21
|
public_suffix (>= 2.0.2, < 5.0)
|
23
22
|
ast (2.4.1)
|
24
23
|
coderay (1.1.3)
|
25
|
-
concurrent-ruby (1.1.
|
24
|
+
concurrent-ruby (1.1.10)
|
26
25
|
crack (0.4.4)
|
27
26
|
diff-lcs (1.4.4)
|
28
27
|
faker (2.14.0)
|
@@ -30,21 +29,21 @@ GEM
|
|
30
29
|
faraday (1.1.0)
|
31
30
|
multipart-post (>= 1.2, < 3)
|
32
31
|
ruby2_keywords
|
33
|
-
faraday_middleware (1.
|
32
|
+
faraday_middleware (1.2.0)
|
34
33
|
faraday (~> 1.0)
|
35
34
|
hashdiff (1.0.1)
|
36
|
-
i18n (1.
|
35
|
+
i18n (1.10.0)
|
37
36
|
concurrent-ruby (~> 1.0)
|
38
|
-
json_api_client (1.
|
37
|
+
json_api_client (1.21.0)
|
39
38
|
activemodel (>= 3.2.0)
|
40
39
|
activesupport (>= 3.2.0)
|
41
40
|
addressable (~> 2.2)
|
42
|
-
faraday (>= 0.15.2, <
|
43
|
-
faraday_middleware (>= 0.9.0, <
|
41
|
+
faraday (>= 0.15.2, < 2.0)
|
42
|
+
faraday_middleware (>= 0.9.0, < 2.0)
|
44
43
|
rack (>= 0.2)
|
45
|
-
jwt (2.
|
44
|
+
jwt (2.3.0)
|
46
45
|
method_source (1.0.0)
|
47
|
-
minitest (5.
|
46
|
+
minitest (5.15.0)
|
48
47
|
multipart-post (2.1.1)
|
49
48
|
parallel (1.19.2)
|
50
49
|
parser (2.7.2.0)
|
@@ -85,7 +84,7 @@ GEM
|
|
85
84
|
rubocop-rspec (1.43.2)
|
86
85
|
rubocop (~> 0.87)
|
87
86
|
ruby-progressbar (1.10.1)
|
88
|
-
ruby2_keywords (0.0.
|
87
|
+
ruby2_keywords (0.0.5)
|
89
88
|
tzinfo (2.0.4)
|
90
89
|
concurrent-ruby (~> 1.0)
|
91
90
|
unicode-display_width (1.7.0)
|
@@ -93,7 +92,6 @@ GEM
|
|
93
92
|
addressable (>= 2.3.6)
|
94
93
|
crack (>= 0.3.2)
|
95
94
|
hashdiff (>= 0.4.0, < 2.0.0)
|
96
|
-
zeitwerk (2.4.2)
|
97
95
|
|
98
96
|
PLATFORMS
|
99
97
|
ruby
|
data/README.md
CHANGED
@@ -55,3 +55,18 @@ invitation = CirroIO::Client::GigInvitation.new(gig: gig)
|
|
55
55
|
|
56
56
|
invitation.bulk_create_with(filter, auto_accept: true) # by default auto_accept is false
|
57
57
|
```
|
58
|
+
|
59
|
+
#### Creating Payouts for workers
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
app_worker = CirroIO::Client::AppWorker.load(id: 1234)
|
63
|
+
|
64
|
+
CirroIO::Client::Payout.create(
|
65
|
+
app_worker: app_worker,
|
66
|
+
amount: 100, # € 1.00
|
67
|
+
title: "Bonus for something",
|
68
|
+
description: "Description of the bonus.",
|
69
|
+
cost_center_key: "PROJECT-CODE",
|
70
|
+
billing_date: DateTime.now
|
71
|
+
)
|
72
|
+
```
|
data/lib/cirro_io/client/base.rb
CHANGED
@@ -28,6 +28,26 @@ module CirroIO
|
|
28
28
|
conn.use JsonApiClient::Middleware::Status, {}
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
# HACK: https://github.com/JsonApiClient/json_api_client/issues/390
|
33
|
+
# waiting for json_api_client to release a new version with the fix
|
34
|
+
# https://github.com/JsonApiClient/json_api_client/pull/398
|
35
|
+
# rubocop:disable all
|
36
|
+
def initialize(params = {})
|
37
|
+
params = params.with_indifferent_access
|
38
|
+
@persisted = nil
|
39
|
+
@destroyed = nil
|
40
|
+
self.links = self.class.linker.new(params.delete(:links) || {})
|
41
|
+
self.relationships = self.class.relationship_linker.new(self.class, params.delete(:relationships) || {})
|
42
|
+
self.attributes = self.class.default_attributes.merge params.except(*self.class.prefix_params)
|
43
|
+
self.forget_change!(:type)
|
44
|
+
self.__belongs_to_params = params.slice(*self.class.prefix_params)
|
45
|
+
|
46
|
+
setup_default_properties
|
47
|
+
|
48
|
+
self.request_params = self.class.request_params_class.new(self.class)
|
49
|
+
end
|
50
|
+
# rubocop:enable all
|
31
51
|
end
|
32
52
|
end
|
33
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cirro-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cirro Dev Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
131
|
requirements: []
|
132
|
-
rubygems_version: 3.1.
|
132
|
+
rubygems_version: 3.1.3
|
133
133
|
signing_key:
|
134
134
|
specification_version: 4
|
135
135
|
summary: Ruby client library for Cirro API
|