Skip to content

Commit e991800

Browse files
committed
feat: removed public key. fix: encrypt private key for new access key
1 parent 9c7bfa0 commit e991800

File tree

8 files changed

+14
-24
lines changed

8 files changed

+14
-24
lines changed

api/projects/keys.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ func AddKey(w http.ResponseWriter, r *http.Request) {
9898
*key.Secret += "\n"
9999
}
100100

101+
err := key.EncryptSecret()
102+
103+
if err != nil {
104+
helpers.WriteError(w, err)
105+
return
106+
}
107+
101108
newKey, err := helpers.Store(r).CreateAccessKey(key)
102109

103110
if err != nil {
@@ -146,7 +153,6 @@ func UpdateKey(w http.ResponseWriter, r *http.Request) {
146153
}
147154

148155
if key.Type == db.AccessKeyNone {
149-
key.Key = nil
150156
key.Secret = nil
151157
} else if key.Secret == nil || len(*key.Secret) == 0 {
152158
// override secret

api/tasks/pool.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ var pool = taskPool{
3737
activeNodes: make(map[string]*task),
3838
running: 0, // number of running tasks
3939
runningTasks: make(map[int]*task), // working tasks
40-
logger: make(chan logRecord, 1000), // store log records to database
40+
logger: make(chan logRecord, 10000), // store log records to database
4141
}
4242

4343
var resourceLocker = make(chan *resourceLock)

api/tasks/runner.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,11 +339,6 @@ func (t *task) installKey(key db.AccessKey) error {
339339
t.log("access key " + key.Name + " installed")
340340

341341
path := key.GetPath()
342-
if key.Key != nil {
343-
if err := ioutil.WriteFile(path+"-cert.pub", []byte(*key.Key), 0600); err != nil {
344-
return err
345-
}
346-
}
347342

348343
secret, err := key.DecryptSecret()
349344

db/AccessKey.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ type AccessKey struct {
2626
Type string `db:"type" json:"type" binding:"required"`
2727

2828
ProjectID *int `db:"project_id" json:"project_id"`
29-
Key *string `db:"key" json:"key"`
3029
Secret *string `db:"secret" json:"secret"`
3130

3231
Removed bool `db:"removed" json:"removed"`

db/sql/Version.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,5 +79,6 @@ func init() {
7979
{Major: 2, Minor: 7, Patch: 6},
8080
{Major: 2, Minor: 7, Patch: 8},
8181
{Major: 2, Minor: 7, Patch: 9},
82+
{Major: 2, Minor: 7, Patch: 10},
8283
}
8384
}

db/sql/access_key.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ func (d *SqlDb) GetAccessKeys(projectID int, params db.RetrieveQueryParams) ([]d
1616

1717
func (d *SqlDb) UpdateAccessKey(key db.AccessKey) error {
1818
res, err := d.exec(
19-
"update access_key set name=?, type=?, `key`=?, secret=? where project_id=? and id=?",
19+
"update access_key set name=?, type=?, secret=? where project_id=? and id=?",
2020
key.Name,
2121
key.Type,
22-
key.Key,
2322
key.Secret,
2423
key.ProjectID,
2524
key.ID)
@@ -30,11 +29,10 @@ func (d *SqlDb) UpdateAccessKey(key db.AccessKey) error {
3029
func (d *SqlDb) CreateAccessKey(key db.AccessKey) (newKey db.AccessKey, err error) {
3130
insertID, err := d.insert(
3231
"id",
33-
"insert into access_key (name, type, project_id, `key`, secret) values (?, ?, ?, ?, ?)",
32+
"insert into access_key (name, type, project_id, secret) values (?, ?, ?, ?)",
3433
key.Name,
3534
key.Type,
3635
key.ProjectID,
37-
key.Key,
3836
key.Secret)
3937

4038
if err != nil {
@@ -54,7 +52,6 @@ func (d *SqlDb) DeleteAccessKeySoft(projectID int, accessKeyID int) error {
5452
return d.deleteObjectSoft(projectID, db.AccessKeyProps, accessKeyID)
5553
}
5654

57-
5855
func (d *SqlDb) GetGlobalAccessKey(accessKeyID int) (db.AccessKey, error) {
5956
var key db.AccessKey
6057
err := d.getObject(0, db.GlobalAccessKeyProps, accessKeyID, &key)
@@ -69,10 +66,9 @@ func (d *SqlDb) GetGlobalAccessKeys(params db.RetrieveQueryParams) ([]db.AccessK
6966

7067
func (d *SqlDb) UpdateGlobalAccessKey(key db.AccessKey) error {
7168
res, err := d.exec(
72-
"update access_key set name=?, type=?, `key`=?, secret=? where id=?",
69+
"update access_key set name=?, type=?, secret=? where id=?",
7370
key.Name,
7471
key.Type,
75-
key.Key,
7672
key.Secret,
7773
key.ID)
7874

@@ -82,10 +78,9 @@ func (d *SqlDb) UpdateGlobalAccessKey(key db.AccessKey) error {
8278
func (d *SqlDb) CreateGlobalAccessKey(key db.AccessKey) (newKey db.AccessKey, err error) {
8379
insertID, err := d.insert(
8480
"id",
85-
"insert into access_key (name, type, `key`, secret) values (?, ?, ?, ?)",
81+
"insert into access_key (name, type, secret) values (?, ?, ?)",
8682
key.Name,
8783
key.Type,
88-
key.Key,
8984
key.Secret)
9085

9186
if err != nil {

db/sql/migrations/v2.7.10.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
alter table `access_key` drop column `key`;

web2/src/components/KeyForm.vue

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,6 @@
3030
:disabled="formSaving"
3131
></v-select>
3232

33-
<v-textarea
34-
v-model="item.key"
35-
label="Public Key"
36-
:disabled="formSaving"
37-
v-if="item.type === 'ssh'"
38-
></v-textarea>
39-
4033
<v-textarea
4134
v-model="item.secret"
4235
label="Private Key"

0 commit comments

Comments
 (0)