sem 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c1a10ab040f112a1f24a09ea5f73861b9071b43
4
- data.tar.gz: ada5cba1c12170b169bee90ab53c91a450d61147
3
+ metadata.gz: fcf97334c5552314453331d55eff0abdf5dcb0a7
4
+ data.tar.gz: c53b9c7001b91e8bd888e77d88759b5627afde8b
5
5
  SHA512:
6
- metadata.gz: 51a35aa698536afebe6c0308fb9ce7fef042ac215e9e69368e08d621732fce09cf53ac3ef1d7c8a322eaaac1ba4c969e3a6e589a37c27933057622b8e70353c2
7
- data.tar.gz: 95db9b01b1c029800a19572d192322d46f9d2d9e77d0fe93ab4e22c42c279cca5749b0e1debc2f0c5ea816b7f0216072b961f5fb0f95289314e07a220a52366d
6
+ metadata.gz: c706b748e6920848e71318d3ae91f009eec005d6fb9fefa24a5a9621908ad7d6e798a29dda0417c5461652f7ff56234ca213dc6622e24cd4b01d3d963dc57c8a
7
+ data.tar.gz: 9a705290418c713cee873bf311c932ade36afb76af077cda2f0c36df666cf111359162e304adb720b683a7a326ce2821b5901bd52ef5f73a6ddbc462da7f1bb9
data/lib/sem/api/org.rb CHANGED
@@ -23,8 +23,8 @@ class Sem::API::Org < SimpleDelegator
23
23
  Sem::API::Base.client.projects.list_for_org!(username).map { |project| Sem::API::Project.new(username, project) }
24
24
  end
25
25
 
26
- def shared_configs
27
- Sem::API::Base.client.shared_configs.list_for_org!(username).map { |config| Sem::API::SharedConfig.new(username, config) }
26
+ def secrets
27
+ Sem::API::Base.client.secrets.list_for_org!(username).map { |secret| Sem::API::Secret.new(username, secret) }
28
28
  end
29
29
 
30
30
  end
@@ -42,20 +42,20 @@ class Sem::API::Project < SimpleDelegator
42
42
  "#{@org_name}/#{name}"
43
43
  end
44
44
 
45
- def shared_configs
46
- Sem::API::Base.client.shared_configs.list_for_project!(id).map { |config| Sem::API::SharedConfig.new(org_name, config) }
45
+ def secrets
46
+ Sem::API::Base.client.secrets.list_for_project!(id).map { |secret| Sem::API::Secret.new(org_name, secret) }
47
47
  end
48
48
 
49
- def add_shared_config(shared_config)
50
- Sem::API::Base.client.shared_configs.attach_to_project!(shared_config.id, id)
49
+ def add_secret(secret)
50
+ Sem::API::Base.client.secrets.attach_to_project!(secret.id, id)
51
51
  rescue SemaphoreClient::Exceptions::NotFound
52
- raise Sem::Errors::ResourceNotFound.new("Shared Configuration", [shared_config.full_name])
52
+ raise Sem::Errors::ResourceNotFound.new("Secret", [secret.full_name])
53
53
  end
54
54
 
55
- def remove_shared_config(shared_config)
56
- Sem::API::Base.client.shared_configs.detach_from_project!(shared_config.id, id)
55
+ def remove_secret(secret)
56
+ Sem::API::Base.client.secrets.detach_from_project!(secret.id, id)
57
57
  rescue SemaphoreClient::Exceptions::NotFound
58
- raise Sem::Errors::ResourceNotFound.new("Shared Configuration", [shared_config.full_name])
58
+ raise Sem::Errors::ResourceNotFound.new("Secret", [secret.full_name])
59
59
  end
60
60
 
61
61
  def config_files
@@ -0,0 +1,109 @@
1
+ class Sem::API::Secret < SimpleDelegator
2
+ extend Sem::API::Base
3
+
4
+ def self.all
5
+ Sem::API::Org.all.pmap(&:secrets).flatten
6
+ end
7
+
8
+ def self.find!(secrets_srn)
9
+ org_name, secret_name = Sem::SRN.parse_secret(secrets_srn)
10
+
11
+ secrets = client.secrets.list_for_org!(org_name)
12
+ secret = secrets.find { |c| c.name == secret_name }
13
+
14
+ if secret.nil?
15
+ raise Sem::Errors::ResourceNotFound.new("Secret", [org_name, secret_name])
16
+ end
17
+
18
+ new(org_name, secret)
19
+ rescue SemaphoreClient::Exceptions::NotFound
20
+ raise Sem::Errors::ResourceNotFound.new("Secret", [org_name, secret_name])
21
+ end
22
+
23
+ def self.create!(secret_srn, args = {})
24
+ org_name, secret_name = Sem::SRN.parse_secret(secret_srn)
25
+
26
+ secret = client.secrets.create_for_org!(org_name, args.merge(:name => secret_name))
27
+
28
+ if secret.nil?
29
+ raise Sem::Errors::ResourceNotCreated.new("Secret", [org_name, secret_name])
30
+ end
31
+
32
+ new(org_name, secret)
33
+ end
34
+
35
+ attr_reader :org_name
36
+
37
+ def initialize(org_name, secret)
38
+ @org_name = org_name
39
+
40
+ super(secret)
41
+ end
42
+
43
+ def full_name
44
+ "#{org_name}/#{name}"
45
+ end
46
+
47
+ def add_config_file(args)
48
+ file = Sem::API::Base.client.config_files.create_for_secret!(id, args)
49
+
50
+ if file.nil?
51
+ raise Sem::Errors::ResourceNotCreated.new("Configuration File", [org_name, path])
52
+ end
53
+
54
+ Sem::API::File.new(file)
55
+ end
56
+
57
+ def remove_config_file(path)
58
+ file = files.find { |f| f.path == path }
59
+
60
+ if file.nil?
61
+ raise Sem::Errors::ResourceNotCreated.new("Configuration File", [org_name, path])
62
+ end
63
+
64
+ Sem::API::Base.client.config_files.delete!(file.id)
65
+ end
66
+
67
+ def add_env_var(args)
68
+ env_var = Sem::API::Base.client.env_vars.create_for_secret!(id, args)
69
+
70
+ if env_var.nil?
71
+ raise Sem::Errors::ResourceNotCreated.new("Environment Variable", [org_name, args[:name]])
72
+ end
73
+
74
+ Sem::API::EnvVar.new(env_var)
75
+ end
76
+
77
+ def remove_env_var(name)
78
+ env_var = env_vars.find { |var| var.name == name }
79
+
80
+ if env_var.nil?
81
+ raise Sem::Errors::ResourceNotFound.new("Environment Variable", [org_name, name])
82
+ end
83
+
84
+ Sem::API::Base.client.env_vars.delete!(env_var.id)
85
+ end
86
+
87
+ def update!(args)
88
+ secret = Sem::API::Base.client.secrets.update!(id, args)
89
+
90
+ if secret.nil?
91
+ raise Sem::Errors::ResourceNotUpdated.new("Secret", [org_name, name])
92
+ end
93
+
94
+ self.class.new(org_name, secret)
95
+ end
96
+
97
+ def delete!
98
+ Sem::API::Base.client.secrets.delete!(id)
99
+ end
100
+
101
+ def files
102
+ Sem::API::Base.client.config_files.list_for_secret!(id).map { |file| Sem::API::File.new(file) }
103
+ end
104
+
105
+ def env_vars
106
+ Sem::API::Base.client.env_vars.list_for_secret!(id).map { |env_var| Sem::API::EnvVar.new(env_var) }
107
+ end
108
+
109
+ end
data/lib/sem/api/team.rb CHANGED
@@ -71,16 +71,16 @@ class Sem::API::Team < SimpleDelegator
71
71
  raise Sem::Errors::ResourceNotFound.new("Project", [project.full_name])
72
72
  end
73
73
 
74
- def add_shared_config(config)
75
- Sem::API::Base.client.shared_configs.attach_to_team!(config.id, id)
74
+ def add_secret(secret)
75
+ Sem::API::Base.client.secrets.attach_to_team!(secret.id, id)
76
76
  rescue SemaphoreClient::Exceptions::NotFound
77
- raise Sem::Errors::ResourceNotFound.new("Shared Configuration", [config.full_name])
77
+ raise Sem::Errors::ResourceNotFound.new("Secret", [secret.full_name])
78
78
  end
79
79
 
80
- def remove_shared_config(config)
81
- Sem::API::Base.client.shared_configs.detach_from_team!(config.id, id)
80
+ def remove_secret(secret)
81
+ Sem::API::Base.client.secrets.detach_from_team!(secret.id, id)
82
82
  rescue SemaphoreClient::Exceptions::NotFound
83
- raise Sem::Errors::ResourceNotFound.new("Shared Configuration", [config.full_name])
83
+ raise Sem::Errors::ResourceNotFound.new("Secret", [secret.full_name])
84
84
  end
85
85
 
86
86
  def delete!
@@ -95,8 +95,8 @@ class Sem::API::Team < SimpleDelegator
95
95
  Sem::API::Base.client.projects.list_for_team!(id).map { |project| Sem::API::Project.new(org_name, project) }
96
96
  end
97
97
 
98
- def shared_configs
99
- Sem::API::Base.client.shared_configs.list_for_team!(id).map { |config| Sem::API::SharedConfig.new(org_name, config) }
98
+ def secrets
99
+ Sem::API::Base.client.secrets.list_for_team!(id).map { |secret| Sem::API::Secret.new(org_name, secret) }
100
100
  end
101
101
 
102
102
  end
data/lib/sem/api.rb CHANGED
@@ -6,7 +6,7 @@ module Sem
6
6
  require_relative "api/project"
7
7
  require_relative "api/env_var"
8
8
  require_relative "api/file"
9
- require_relative "api/shared_config"
9
+ require_relative "api/secret"
10
10
  require_relative "api/team"
11
11
  end
12
12
  end
@@ -113,66 +113,63 @@ DESC
113
113
 
114
114
  end
115
115
 
116
- class SharedConfigs < Dracula
116
+ class Secrets < Dracula
117
117
 
118
- desc "list", "list shared configurations on a project"
118
+ desc "list", "list secrets on a project"
119
119
  long_desc <<-DESC
120
120
  Examples:
121
121
 
122
- $ sem projects:shared-configs:list renderedtext/cli
122
+ $ sem projects:secrets:list renderedtext/cli
123
123
  ID NAME CONFIG FILES ENV VARS
124
124
  99c7ed43-ac8a-487e-b488-c38bc757a034 renderedtext/tokens 1 0
125
125
  99c7ed43-ac8a-487e-b488-c38bc757a034 renderedtext/secrets 0 1
126
126
  DESC
127
127
  def list(project_name)
128
128
  project = Sem::API::Project.find!(project_name)
129
- shared_configs = project.shared_configs
129
+ secrets = project.secrets
130
130
 
131
- if !shared_configs.empty?
132
- Sem::Views::SharedConfigs.list(shared_configs)
131
+ if !secrets.empty?
132
+ Sem::Views::Secrets.list(secrets)
133
133
  else
134
- Sem::Views::Projects.attach_first_shared_config(project)
134
+ Sem::Views::Projects.attach_first_secret(project)
135
135
  end
136
136
  end
137
137
 
138
- desc "add", "attach a shared configuration to a project"
138
+ desc "add", "attach a secret to a project"
139
139
  long_desc <<-DESC
140
140
  Examples:
141
141
 
142
- $ sem projects:shared-configs:add renderedtext/cli renderedtext/secrets
143
- Shared Configuration renderedtext/secrets added to the project.
142
+ $ sem projects:secrets:add renderedtext/cli renderedtext/secrets
143
+ Secret renderedtext/secrets added to the project.
144
144
  DESC
145
- def add(project_name, shared_config_name)
145
+ def add(project_name, secret_name)
146
146
  project = Sem::API::Project.find!(project_name)
147
- shared_config = Sem::API::SharedConfig.find!(shared_config_name)
147
+ secret = Sem::API::Secret.find!(secret_name)
148
148
 
149
- project.add_shared_config(shared_config)
149
+ project.add_secret(secret)
150
150
 
151
- shared_config.env_vars.each { |var| project.add_env_var(var) }
152
- shared_config.files.each { |file| project.add_config_file(file) }
153
-
154
- puts "Shared Configuration #{shared_config_name} added to the project."
151
+ puts "Secret #{secret_name} added to the project."
155
152
  end
156
153
 
157
- desc "remove", "removes a shared configuration from the project"
154
+ desc "remove", "removes a secret from the project"
158
155
  long_desc <<-DESC
159
156
  Examples:
160
157
 
161
- $ sem projects:shared-configs:remove renderedtext/cli renderedtext/secrets
162
- Shared Configuration renderedtext/secrets removed from the project.
158
+ $ sem projects:secrets:remove renderedtext/cli renderedtext/secrets
159
+ Secret renderedtext/secrets removed from the project.
163
160
  DESC
164
- def remove(project_name, shared_config_name)
161
+ def remove(project_name, secret_name)
165
162
  project = Sem::API::Project.find!(project_name)
166
- shared_config = Sem::API::SharedConfig.find!(shared_config_name)
163
+ secret = Sem::API::Secret.find!(secret_name)
167
164
 
168
- project.remove_shared_config(shared_config)
165
+ project.remove_secret(secret)
169
166
 
170
- puts "Shared Configuration #{shared_config_name} removed from the project."
167
+ puts "Secret #{secret_name} removed from the project."
171
168
  end
172
169
 
173
170
  end
174
171
 
175
- register "shared-configs", "manage shared configurations", SharedConfigs
172
+ register "secrets", "manage secrets", Secrets
176
173
  register "files", "manage projects' config files", Files
177
174
  register "env-vars", "manage projects' environment variables", EnvVars
178
175
  end
@@ -0,0 +1,220 @@
1
+ class Sem::CLI::Secrets < Dracula
2
+
3
+ desc "list", "list secrets"
4
+ long_desc <<-DESC
5
+ Examples:
6
+
7
+ $ sem secrets:list
8
+ ID NAME CONFIG FILES ENV VARS
9
+ 99c7ed43-ac8a-487e-b488-c38bc757a034 renderedtext/tokens 1 0
10
+ 1133ed43-ac8a-487e-b488-c38bc757a044 renderedtext/secrets 0 1
11
+ DESC
12
+ def list
13
+ secrets = Sem::API::Secret.all
14
+
15
+ if !secrets.empty?
16
+ Sem::Views::Secrets.list(secrets)
17
+ else
18
+ Sem::Views::Secrets.setup_first_secrets
19
+ end
20
+ end
21
+
22
+ desc "info", "show information about secrets"
23
+ long_desc <<-DESC
24
+ Examples:
25
+
26
+ $ sem secrets:info renderedtext/tokens
27
+ ID 99c7ed43-ac8a-487e-b488-c38bc757a034
28
+ Name renderedtext/tokens
29
+ Config Files 1
30
+ Environment Variables 0
31
+ Created 2017-08-01 13:14:40 +0200
32
+ Updated 2017-08-02 13:14:40 +0200
33
+ DESC
34
+ def info(secret_name)
35
+ secret = Sem::API::Secret.find!(secret_name)
36
+
37
+ Sem::Views::Secrets.info(secret)
38
+ end
39
+
40
+ desc "create", "create new secrets"
41
+ long_desc <<-DESC
42
+ Examples:
43
+
44
+ $ sem secrets:create renderedtext/tokens
45
+ ID 99c7ed43-ac8a-487e-b488-c38bc757a034
46
+ Name renderedtext/tokens
47
+ Config Files 1
48
+ Environment Variables 0
49
+ Created 2017-08-01 13:14:40 +0200
50
+ Updated 2017-08-02 13:14:40 +0200
51
+ DESC
52
+ def create(secret_name)
53
+ secret = Sem::API::Secret.create!(secret_name)
54
+
55
+ Sem::Views::Secrets.info(secret)
56
+ end
57
+
58
+ desc "rename", "rename secrets"
59
+ long_desc <<-DESC
60
+ Examples:
61
+
62
+ $ sem secrets:create renderedtext/tokens renderedtext/psst
63
+ ID 99c7ed43-ac8a-487e-b488-c38bc757a034
64
+ Name renderedtext/psst
65
+ Config Files 1
66
+ Environment Variables 0
67
+ Created 2017-08-01 13:14:40 +0200
68
+ Updated 2017-08-02 13:14:40 +0200
69
+ DESC
70
+ def rename(old_secrets_name, new_secrets_name)
71
+ old_org_name, _old_name = Sem::SRN.parse_secret(old_secrets_name)
72
+ new_org_name, new_name = Sem::SRN.parse_secret(new_secrets_name)
73
+
74
+ abort "Secrets can't change their organization" unless new_org_name == old_org_name
75
+
76
+ secret = Sem::API::Secret.find!(old_secrets_name)
77
+ secret = secret.update!(:name => new_name)
78
+
79
+ Sem::Views::Secrets.info(secret)
80
+ end
81
+
82
+ desc "delete", "removes secrets from your organization"
83
+ long_desc <<-DESC
84
+ Examples:
85
+
86
+ $ sem secrets:delete renderedtext/tokens
87
+ Deleted secret renderedtext/tokens.
88
+ DESC
89
+ def delete(secrets_name)
90
+ secret = Sem::API::Secret.find!(secrets_name)
91
+ secret.delete!
92
+
93
+ puts "Deleted secret #{secrets_name}."
94
+ end
95
+
96
+ class Files < Dracula
97
+
98
+ desc "list", "list files in secrets"
99
+ long_desc <<-DESC
100
+ Examples:
101
+
102
+ $ sem secrets:files:list renderedtext/tokens
103
+ ID PATH ENCRYPTED?
104
+ 77c7ed43-ac8a-487e-b488-c38bc757a034 /home/runner/a true
105
+ 11c7ed43-bc8a-a87e-ba88-a38ba757a034 /home/runner/secrets.txt true
106
+ DESC
107
+ def list(secret_name)
108
+ secret = Sem::API::Secret.find!(secret_name)
109
+ files = secret.files
110
+
111
+ if !files.empty?
112
+ Sem::Views::Files.list(files)
113
+ else
114
+ Sem::Views::Secrets.add_first_file(secret)
115
+ end
116
+ end
117
+
118
+ desc "add", "add a file to secrets"
119
+ option "path-on-semaphore", :aliases => "p", :desc => "Path of the file in builds relative to /home/runner directory", :required => true
120
+ option "local-path", :aliases => "l", :desc => "Location of the file on the local machine", :required => true
121
+ long_desc <<-DESC
122
+ Examples:
123
+
124
+ $ sem secrets:files:add renderedtext/tokens --local-path /tmp/secrets.json --path-on-semaphore secrets.json
125
+ Added /home/runner/secrets.txt to renderedtext/secrets.
126
+ DESC
127
+ def add(secrets_name)
128
+ secret = Sem::API::Secret.find!(secrets_name)
129
+
130
+ local_path = options["local-path"]
131
+
132
+ abort "File #{local_path} not found" unless File.exist?(local_path)
133
+
134
+ path = options["path-on-semaphore"]
135
+ content = File.read(local_path)
136
+
137
+ secret.add_config_file(:path => path, :content => content, :encrypted => true)
138
+
139
+ puts "Added /home/runner/#{path} to #{secrets_name}."
140
+ end
141
+
142
+ desc "remove", "remove a file from secrets"
143
+ option :path, :aliases => "p", :desc => "Path of the file in builds relative to /home/runner directory", :required => true
144
+ long_desc <<-DESC
145
+ Examples:
146
+
147
+ $ sem secrets:files:remove renderedtext/secrets --path secrets.json
148
+ Removed /home/runner/secrets.txt from renderedtext/secrets.
149
+ DESC
150
+ def remove(secrets_name)
151
+ secret = Sem::API::Secret.find!(secrets_name)
152
+
153
+ secret.remove_config_file(options[:path])
154
+
155
+ puts "Removed /home/runner/#{options[:path]} from #{secrets_name}."
156
+ end
157
+
158
+ end
159
+
160
+ class EnvVars < Dracula
161
+
162
+ desc "list", "list environment variables in secrets"
163
+ long_desc <<-DESC
164
+ Examples:
165
+
166
+ $ sem secrets:files:list renderedtext/tokens
167
+ ID NAME ENCRYPTED? CONTENT
168
+ 9997ed43-ac8a-487e-b488-c38bc757a034 SECRET true aaa
169
+ 1117ed43-tc8a-387e-6488-838bc757a034 TOKEN true *encrypted*
170
+ DESC
171
+ def list(secret_name)
172
+ secret = Sem::API::Secret.find!(secret_name)
173
+ env_vars = secret.env_vars
174
+
175
+ if !env_vars.empty?
176
+ Sem::Views::EnvVars.list(env_vars)
177
+ else
178
+ Sem::Views::Secrets.add_first_env_var(secret)
179
+ end
180
+ end
181
+
182
+ desc "add", "add an environment variable to secrets"
183
+ option :name, :aliases => "n", :desc => "Name of the variable", :required => true
184
+ option :content, :aliases => "c", :desc => "Content of the variable", :required => true
185
+ long_desc <<-DESC
186
+ Examples:
187
+
188
+ $ sem secrets:env-vars:add renderedtext/secrets --name TOKEN --content "s3cr3t"
189
+ Added TOKEN to renderedtext/secrets.
190
+ DESC
191
+ def add(secret_name)
192
+ secret = Sem::API::Secret.find!(secret_name)
193
+
194
+ secret.add_env_var(:name => options[:name], :content => options[:content], :encrypted => true)
195
+
196
+ puts "Added #{options[:name]} to #{secret_name}."
197
+ end
198
+
199
+ desc "remove", "remove an environment variable from secrets"
200
+ option :name, :aliases => "n", :desc => "Name of the variable", :required => true
201
+ long_desc <<-DESC
202
+ Examples:
203
+
204
+ $ sem secrets:env-vars:remove renderedtext/secrets --name TOKEN
205
+ Removed TOKEN from renderedtext/secrets.
206
+ DESC
207
+ def remove(secrets_name)
208
+ secret = Sem::API::Secret.find!(secrets_name)
209
+ name = options[:name]
210
+
211
+ secret.remove_env_var(name)
212
+
213
+ puts "Removed #{name} from #{secrets_name}"
214
+ end
215
+
216
+ end
217
+
218
+ register "files", "manage files", Files
219
+ register "env-vars", "manage environment variables", EnvVars
220
+ end
data/lib/sem/cli/teams.rb CHANGED
@@ -255,61 +255,61 @@ DESC
255
255
  end
256
256
  end
257
257
 
258
- class SharedConfigs < Dracula
259
- desc "list", "list shared configurations in a team"
258
+ class Secrets < Dracula
259
+ desc "list", "list secrets in a team"
260
260
  long_desc <<-DESC
261
261
  Examples:
262
262
 
263
- $ sem team:shared-configs:list renderedtext/devs
263
+ $ sem team:secrets:list renderedtext/devs
264
264
  ID NAME CONFIG FILES ENV VARS
265
265
  99c7ed43-ac8a-487e-b488-c38bc757a034 renderedtext/tokens 1 0
266
266
  1133ed43-ac8a-487e-b488-c38bc757a044 renderedtext/secrets 0 1
267
267
  DESC
268
268
  def list(team_name)
269
269
  team = Sem::API::Team.find!(team_name)
270
- configs = team.shared_configs
270
+ configs = team.secrets
271
271
 
272
272
  if !configs.empty?
273
- Sem::Views::SharedConfigs.list(configs)
273
+ Sem::Views::Secrets.list(configs)
274
274
  else
275
- Sem::Views::Teams.add_first_shared_config(team)
275
+ Sem::Views::Teams.add_first_secrets(team)
276
276
  end
277
277
  end
278
278
 
279
- desc "add", "add a shared configuration to a team"
279
+ desc "add", "add secrets to a team"
280
280
  long_desc <<-DESC
281
281
  Examples:
282
282
 
283
- $ sem team:shared-configs:add renderedtext/devs renderedtext/secrets
284
- Shared Configuration renderedtext/secrets added to the team.
283
+ $ sem team:secrets:add renderedtext/devs renderedtext/tokens
284
+ Secrets renderedtext/token added to the team.
285
285
  DESC
286
- def add(team_name, shared_config_name)
286
+ def add(team_name, secret_name)
287
287
  team = Sem::API::Team.find!(team_name)
288
- shared_config = Sem::API::SharedConfig.find!(shared_config_name)
288
+ secret = Sem::API::Secret.find!(secret_name)
289
289
 
290
- team.add_shared_config(shared_config)
290
+ team.add_secret(secret)
291
291
 
292
- puts "Shared Configuration #{shared_config_name} added to the team."
292
+ puts "Secrets #{secret_name} added to the team."
293
293
  end
294
294
 
295
- desc "remove", "removes a shared Configuration from the team"
295
+ desc "remove", "removes secrets from the team"
296
296
  long_desc <<-DESC
297
297
  Examples:
298
298
 
299
- $ sem team:shared-configs:remove renderedtext/devs renderedtext/secrets
300
- Shared Configuration renderedtext/secrets removed from the team.
299
+ $ sem team:secrets:remove renderedtext/devs renderedtext/secrets
300
+ Secrets renderedtext/secrets removed from the team.
301
301
  DESC
302
- def remove(team_name, shared_config_name)
302
+ def remove(team_name, secret_name)
303
303
  team = Sem::API::Team.find!(team_name)
304
- shared_config = Sem::API::SharedConfig.find!(shared_config_name)
304
+ secret = Sem::API::Secret.find!(secret_name)
305
305
 
306
- team.remove_shared_config(shared_config)
306
+ team.remove_secret(secret)
307
307
 
308
- puts "Shared Configuration #{shared_config_name} removed from the team."
308
+ puts "Secrets #{secret_name} removed from the team."
309
309
  end
310
310
  end
311
311
 
312
312
  register "members", "manage team members", Members
313
313
  register "projects", "manage team members", Projects
314
- register "shared-configs", "manage shared configurations", SharedConfigs
314
+ register "secrets", "manage secrets", Secrets
315
315
  end
data/lib/sem/cli.rb CHANGED
@@ -5,7 +5,7 @@ module Sem
5
5
  require_relative "cli/orgs"
6
6
  require_relative "cli/projects"
7
7
  require_relative "cli/teams"
8
- require_relative "cli/shared_configs"
8
+ require_relative "cli/secrets"
9
9
 
10
10
  desc "version", "Display CLI version"
11
11
  def version
@@ -49,7 +49,7 @@ DESC
49
49
 
50
50
  register "orgs", "manage organizations", Sem::CLI::Orgs
51
51
  register "teams", "manage teams and team membership", Sem::CLI::Teams
52
- register "shared-configs", "manage shared configurations", Sem::CLI::SharedConfigs
52
+ register "secrets", "manage secrets", Sem::CLI::Secrets
53
53
  register "projects", "manage projects", Sem::CLI::Projects
54
54
  end
55
55
  end
data/lib/sem/srn.rb CHANGED
@@ -14,8 +14,8 @@ class Sem::SRN
14
14
  parse_srn(semaphore_resource_name, "org_name/project_name")
15
15
  end
16
16
 
17
- def parse_shared_config(semaphore_resource_name)
18
- parse_srn(semaphore_resource_name, "org_name/shared_config_name")
17
+ def parse_secret(semaphore_resource_name)
18
+ parse_srn(semaphore_resource_name, "org_name/secret_name")
19
19
  end
20
20
 
21
21
  def parse_user(semaphore_resource_name)
data/lib/sem/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sem
2
- VERSION = "0.7.0".freeze
2
+ VERSION = "0.8.0".freeze
3
3
  end
@@ -26,12 +26,12 @@ class Sem::Views::Projects < Sem::Views::Base
26
26
  ]
27
27
  end
28
28
 
29
- def self.attach_first_shared_config(project)
30
- puts "You don't have any shared configurations on this project."
29
+ def self.attach_first_secret(project)
30
+ puts "You don't have any secrets on this project."
31
31
  puts ""
32
- puts "Add your first shared configuration:"
32
+ puts "Add your first secret:"
33
33
  puts ""
34
- puts " sem projects:shared-configs:add #{project.full_name} SHARED_CONFIG_NAME"
34
+ puts " sem projects:secrets:add #{project.full_name} SECRETS_NAME"
35
35
  puts ""
36
36
  end
37
37