v0.0.25 | KVM 서버 관리 API 추가
All checks were successful
Build And Test / build-and-push (push) Successful in 2m7s
All checks were successful
Build And Test / build-and-push (push) Successful in 2m7s
- KVMServer 모델 추가 (멀티 서버 지원) - 서버별 SSH 키 암호화 저장 - msa-django-libvirt 연동용 SSH 정보 조회 API Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
41
users/migrations/0012_add_kvm_server.py
Normal file
41
users/migrations/0012_add_kvm_server.py
Normal file
@ -0,0 +1,41 @@
|
||||
# Generated by Django 4.2.14 on 2026-01-15 14:49
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('users', '0011_add_dns_appkey_to_nhncloudproject'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='KVMServer',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100, verbose_name='서버 별칭')),
|
||||
('host', models.CharField(max_length=255, verbose_name='호스트 (IP 또는 도메인)')),
|
||||
('port', models.IntegerField(default=22, verbose_name='SSH 포트')),
|
||||
('username', models.CharField(max_length=100, verbose_name='SSH 사용자명')),
|
||||
('encrypted_private_key_name', models.CharField(blank=True, max_length=100, null=True, verbose_name='SSH 키 이름')),
|
||||
('encrypted_private_key', models.BinaryField(blank=True, null=True, verbose_name='SSH 개인키 (암호화)')),
|
||||
('libvirt_uri', models.CharField(blank=True, help_text='예: qemu+ssh://user@host/system', max_length=255, null=True, verbose_name='Libvirt URI')),
|
||||
('description', models.TextField(blank=True, null=True, verbose_name='설명')),
|
||||
('tags', models.CharField(blank=True, help_text='쉼표로 구분된 태그 목록', max_length=500, null=True, verbose_name='태그')),
|
||||
('is_active', models.BooleanField(default=True, verbose_name='활성화 상태')),
|
||||
('last_used_at', models.DateTimeField(blank=True, null=True, verbose_name='마지막 사용 시각')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='kvm_servers', to=settings.AUTH_USER_MODEL, verbose_name='사용자')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'KVM 서버',
|
||||
'verbose_name_plural': 'KVM 서버',
|
||||
'ordering': ['-is_active', '-created_at'],
|
||||
'unique_together': {('user', 'host', 'port')},
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user