Skip to content

Commit 62383ba

Browse files
authored
feat: support local sercret service (#516)
Co-authored-by: rick <[email protected]>
1 parent b7f0503 commit 62383ba

File tree

16 files changed

+818
-324
lines changed

16 files changed

+818
-324
lines changed

cmd/server.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747
"github.com/linuxsuren/api-testing/pkg/server"
4848
"github.com/linuxsuren/api-testing/pkg/service"
4949
"github.com/linuxsuren/api-testing/pkg/testing"
50+
"github.com/linuxsuren/api-testing/pkg/testing/local"
5051
"github.com/linuxsuren/api-testing/pkg/testing/remote"
5152
"github.com/linuxsuren/api-testing/pkg/util"
5253
fakeruntime "github.com/linuxsuren/go-fake-runtime"
@@ -242,9 +243,10 @@ func (o *serverOption) runE(cmd *cobra.Command, args []string) (err error) {
242243
if secretServer, err = remote.NewGRPCSecretFrom(o.secretServer); err != nil {
243244
return
244245
}
245-
246-
template.SetSecretGetter(remote.NewGRPCSecretGetter(secretServer))
246+
} else {
247+
secretServer = local.NewLocalSecretService(o.configDir)
247248
}
249+
template.SetSecretGetter(remote.NewGRPCSecretGetter(secretServer))
248250

249251
extDownloader := downloader.NewStoreDownloader()
250252
extDownloader.WithRegistry(o.extensionRegistry)

console/atest-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "v0.0.14",
44
"private": false,
55
"scripts": {
6-
"dev": "vite",
6+
"dev": "vite --host 0.0.0.0",
77
"build": "run-p type-check build-only",
88
"preview": "vite preview",
99
"test:unit": "jest --collect-coverage",

console/atest-ui/src/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"400": "400 Bad Request",
7676
"401": "401 Unauthorized",
7777
"403": "403 Forbidden",
78+
"404": "404 Not Found",
7879
"405": "405 Method Not Allowed",
7980
"409": "409 Conflict",
8081
"415": "415 Unsupported Media Type",

console/atest-ui/src/views/SecretManager.vue

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { reactive, ref } from 'vue'
44
import { Edit, Delete } from '@element-plus/icons-vue'
55
import type { FormInstance, FormRules } from 'element-plus'
66
import { API } from './net'
7+
import type { Secret } from './net'
78
import { UIAPI } from './net-vue'
89
import { useI18n } from 'vue-i18n'
910
@@ -17,11 +18,6 @@ const secret = ref({} as Secret)
1718
const createAction = ref(true)
1819
const secretForm = reactive(secret)
1920
20-
interface Secret {
21-
Name: string
22-
Value: string
23-
}
24-
2521
function loadSecrets() {
2622
API.GetSecrets((e) => {
2723
secrets.value = e.data
@@ -54,14 +50,11 @@ function addSecret() {
5450
createAction.value = true
5551
}
5652
57-
const rules = reactive<FormRules<Secret>>({
58-
Name: [{ required: true, message: 'Name is required', trigger: 'blur' }]
59-
})
6053
const submitForm = async (formEl: FormInstance | undefined) => {
6154
if (!formEl) return
6255
await formEl.validate((valid: boolean) => {
6356
if (valid) {
64-
UIAPI.CreateOrUpdateSecret(secret.value, createAction.value, () => {
57+
UIAPI.CreateOrUpdateSecret(secretForm.value, createAction.value, () => {
6558
loadSecrets()
6659
dialogVisible.value = false
6760
formEl.resetFields()
@@ -78,7 +71,7 @@ const submitForm = async (formEl: FormInstance | undefined) => {
7871
<el-button type="primary" @click="addSecret" :icon="Edit">{{t('button.new')}}</el-button>
7972
</div>
8073
<el-table :data="secrets" style="width: 100%">
81-
<el-table-column :label="t('field.name')" width="180">
74+
<el-table-column :label="t('field.name')">
8275
<template #default="scope">
8376
<el-text class="mx-1">{{ scope.row.Name }}</el-text>
8477
</template>
@@ -101,7 +94,6 @@ const submitForm = async (formEl: FormInstance | undefined) => {
10194
<template #footer>
10295
<span class="dialog-footer">
10396
<el-form
104-
:rules="rules"
10597
:model="secretForm"
10698
ref="secretFormRef"
10799
status-icon label-width="120px">

console/atest-ui/src/views/net.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,11 @@ function VerifyStore(name: string,
426426
.then(callback).catch(errHandle)
427427
}
428428

429+
export interface Secret {
430+
Name: string
431+
Value: string
432+
}
433+
429434
function GetSecrets(callback: (d: any) => void, errHandle?: (e: any) => void | null) {
430435
const requestOptions = {
431436
headers: {
@@ -464,7 +469,7 @@ function DeleteSecret(name: string,
464469
.catch(errHandle)
465470
}
466471

467-
function CreateOrUpdateSecret(payload: any, create: boolean,
472+
function CreateOrUpdateSecret(payload: Secret, create: boolean,
468473
callback: (d: any) => void, errHandle?: (e: any) => void | null,
469474
toggle?: (e: boolean) => void) {
470475
const requestOptions = {
@@ -477,7 +482,7 @@ function CreateOrUpdateSecret(payload: any, create: boolean,
477482

478483
let api = `/api/v1/secrets`
479484
if (!create) {
480-
api = `/api/v1/secrets/${payload.name}`
485+
api = `/api/v1/secrets/${payload.Name}`
481486
requestOptions.method = "PUT"
482487
}
483488

pkg/runner/monitor/monitor.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/runner/monitor/monitor_grpc.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/server/server.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)