introduce k3s
This commit is contained in:
parent
61dfa82661
commit
0f212782d5
7 changed files with 42 additions and 2 deletions
|
@ -25,6 +25,16 @@ classDiagram
|
||||||
c4k_executabel_name
|
c4k_executabel_name
|
||||||
c4k_mixin_config
|
c4k_mixin_config
|
||||||
c4k_mixin_auth
|
c4k_mixin_auth
|
||||||
|
c4k_grafana_cloud_user
|
||||||
|
c4k_grafana_cloud_password
|
||||||
|
}
|
||||||
|
|
||||||
|
class ProvsK3s {
|
||||||
|
k3s_provision_user
|
||||||
|
k3s_letsencrypt_email
|
||||||
|
k3s_letsencrypt_endpoint
|
||||||
|
k3s_enable_echo
|
||||||
|
k3s_app_filename_to_provision
|
||||||
}
|
}
|
||||||
|
|
||||||
class DnsRecord {
|
class DnsRecord {
|
||||||
|
@ -71,11 +81,13 @@ classDiagram
|
||||||
|
|
||||||
Devops *-- "0..1" Image: spcialized_builds
|
Devops *-- "0..1" Image: spcialized_builds
|
||||||
Devops *-- "0..1" C4k: spcialized_builds
|
Devops *-- "0..1" C4k: spcialized_builds
|
||||||
|
Devops *-- "0..1" ProvsK3s: spcialized_builds
|
||||||
Devops *-- "0..1" Release: mixins
|
Devops *-- "0..1" Release: mixins
|
||||||
Release o-- "0..1" BuildFile: primary_build_file
|
Release o-- "0..1" BuildFile: primary_build_file
|
||||||
Release o-- "0..n" BuildFile: secondary_build_files
|
Release o-- "0..n" BuildFile: secondary_build_files
|
||||||
BuildFile *-- "1" Version
|
BuildFile *-- "1" Version
|
||||||
C4k *-- DnsRecord
|
C4k *-- DnsRecord: dns_record
|
||||||
|
ProvsK3s *-- DnsRecord: provision_dns
|
||||||
Credentials *-- "0..n" CredentialMapping: mappings
|
Credentials *-- "0..n" CredentialMapping: mappings
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,6 +2,7 @@ from .common import Validateable, DnsRecord, Devops, BuildType, MixinType, Relea
|
||||||
from .devops_factory import DevopsFactory
|
from .devops_factory import DevopsFactory
|
||||||
from .image import Image
|
from .image import Image
|
||||||
from .c4k import C4k
|
from .c4k import C4k
|
||||||
|
from .provs_k3s import K3s
|
||||||
from .release import Release
|
from .release import Release
|
||||||
from .credentials import Credentials, CredentialMapping, GopassType
|
from .credentials import Credentials, CredentialMapping, GopassType
|
||||||
from .version import Version
|
from .version import Version
|
||||||
|
|
|
@ -9,6 +9,7 @@ def filter_none(list_to_filter):
|
||||||
class BuildType(Enum):
|
class BuildType(Enum):
|
||||||
IMAGE = 0
|
IMAGE = 0
|
||||||
C4K = 1
|
C4K = 1
|
||||||
|
K3S = 2
|
||||||
|
|
||||||
|
|
||||||
class MixinType(Enum):
|
class MixinType(Enum):
|
||||||
|
|
|
@ -2,6 +2,7 @@ from typing import List, Optional, Dict
|
||||||
from .common import Validateable, Devops, BuildType, MixinType
|
from .common import Validateable, Devops, BuildType, MixinType
|
||||||
from .image import Image
|
from .image import Image
|
||||||
from .c4k import C4k
|
from .c4k import C4k
|
||||||
|
from .provs_k3s import K3s
|
||||||
from .release import Release
|
from .release import Release
|
||||||
from .version import Version
|
from .version import Version
|
||||||
|
|
||||||
|
@ -19,6 +20,8 @@ class DevopsFactory:
|
||||||
specialized_builds[BuildType.IMAGE] = Image(inp)
|
specialized_builds[BuildType.IMAGE] = Image(inp)
|
||||||
if BuildType.C4K in build_types:
|
if BuildType.C4K in build_types:
|
||||||
specialized_builds[BuildType.C4K] = C4k(inp)
|
specialized_builds[BuildType.C4K] = C4k(inp)
|
||||||
|
if BuildType.K3S in build_types:
|
||||||
|
specialized_builds[BuildType.K3S] = K3s(inp)
|
||||||
|
|
||||||
mixins: Dict[MixinType, Validateable] = {}
|
mixins: Dict[MixinType, Validateable] = {}
|
||||||
if MixinType.RELEASE in mixin_types:
|
if MixinType.RELEASE in mixin_types:
|
||||||
|
|
10
src/main/python/ddadevops/domain/provs_k3s.py
Normal file
10
src/main/python/ddadevops/domain/provs_k3s.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
from typing import List, Optional
|
||||||
|
from .common import (
|
||||||
|
Validateable,
|
||||||
|
DnsRecord,
|
||||||
|
Devops,
|
||||||
|
)
|
||||||
|
|
||||||
|
class K3s(Validateable):
|
||||||
|
def __init__(self, inp: dict):
|
||||||
|
pass
|
|
@ -9,7 +9,7 @@ def devops_config(overrides: dict) -> dict:
|
||||||
"stage": "test",
|
"stage": "test",
|
||||||
"project_root_path": "root_path",
|
"project_root_path": "root_path",
|
||||||
"build_dir_name": "target",
|
"build_dir_name": "target",
|
||||||
"build_types": ["IMAGE", "C4K"],
|
"build_types": ["IMAGE", "C4K", "K3S"],
|
||||||
"mixin_types": ["RELEASE"],
|
"mixin_types": ["RELEASE"],
|
||||||
"image_dockerhub_user": "dockerhub_user",
|
"image_dockerhub_user": "dockerhub_user",
|
||||||
"image_dockerhub_password": "dockerhub_password",
|
"image_dockerhub_password": "dockerhub_password",
|
||||||
|
|
13
src/test/python/domain/test_provs_k3s.py
Normal file
13
src/test/python/domain/test_provs_k3s.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import pytest
|
||||||
|
from pathlib import Path
|
||||||
|
from src.main.python.ddadevops.domain import (
|
||||||
|
DnsRecord,
|
||||||
|
BuildType,
|
||||||
|
K3s
|
||||||
|
)
|
||||||
|
from .helper import build_devops
|
||||||
|
|
||||||
|
|
||||||
|
def test_creation():
|
||||||
|
sut = build_devops({})
|
||||||
|
assert BuildType.K3S in sut.specialized_builds
|
Loading…
Reference in a new issue