perf: 优化vault 配置 (#11254)

Co-authored-by: feng <1304903146@qq.com>
pull/11258/head
fit2bot 2023-08-11 16:01:05 +08:00 committed by GitHub
parent a890a8d535
commit e2de744398
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 5 deletions

View File

@ -1,7 +1,7 @@
import os
from django.utils.functional import LazyObject
from importlib import import_module
from django.utils.functional import LazyObject
from common.utils import get_logger
from ..const import VaultTypeChoices

View File

@ -1,11 +1,11 @@
from django.utils.translation import gettext_lazy as _
from django.conf import settings
from django.utils.translation import gettext_lazy as _
from rest_framework import status
from rest_framework.generics import GenericAPIView
from rest_framework.views import Response, APIView
from accounts.tasks.vault import sync_secret_to_vault
from accounts.backends import get_vault_client
from accounts.tasks.vault import sync_secret_to_vault
from settings.models import Setting
from .. import serializers
@ -29,6 +29,7 @@ class VaultTestingAPI(GenericAPIView):
def post(self, request):
config = self.get_config(request)
config['VAULT_TYPE'] = settings.VAULT_TYPE
try:
client = get_vault_client(raise_exception=True, **config)
ok, error = client.is_active()

View File

@ -53,6 +53,7 @@ class PrivateSettingSerializer(PublicSettingSerializer):
TICKETS_ENABLED = serializers.BooleanField()
CONNECTION_TOKEN_REUSABLE = serializers.BooleanField()
CACHE_LOGIN_PASSWORD_ENABLED = serializers.BooleanField()
VAULT_TYPE = serializers.CharField()
class ServerInfoSerializer(serializers.Serializer):

View File

@ -16,8 +16,12 @@ class VaultSettingSerializer(serializers.Serializer):
max_length=256, allow_blank=True, required=False, label=_('Host')
)
VAULT_HCP_TOKEN = EncryptedField(
max_length=256, allow_blank=True, required=False, label=_('Token')
max_length=256, allow_blank=True, required=False, label=_('Token'), default=''
)
VAULT_HCP_MOUNT_POINT = serializers.CharField(
max_length=256, allow_blank=True, required=False, label=_('Mount Point')
)
def validate(self, attrs):
attrs.pop('VAULT_TYPE', None)
return attrs