From 4a55c4d512024e1e1155e97a70b15299ef5ef775 Mon Sep 17 00:00:00 2001 From: jianli-97 Date: Thu, 9 Nov 2023 10:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97-=E9=85=8D=E7=BD=AE=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=9B=B8=E5=85=B3=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/configmanager/asset/asset.go | 34 +++++++++++++++++++ .../asset/cluster/clusterasset.go | 33 ++++++++++++++++++ pkg/configmanager/asset/ignition/ignasset.go | 33 ++++++++++++++++++ pkg/configmanager/asset/infra/tfasset.go | 33 ++++++++++++++++++ pkg/configmanager/asset/nkd/nkd.go | 3 ++ pkg/configmanager/manager/manager.go | 1 + 6 files changed, 137 insertions(+) create mode 100644 pkg/configmanager/asset/asset.go create mode 100644 pkg/configmanager/asset/cluster/clusterasset.go create mode 100644 pkg/configmanager/asset/ignition/ignasset.go create mode 100644 pkg/configmanager/asset/infra/tfasset.go create mode 100644 pkg/configmanager/asset/nkd/nkd.go create mode 100644 pkg/configmanager/manager/manager.go diff --git a/pkg/configmanager/asset/asset.go b/pkg/configmanager/asset/asset.go new file mode 100644 index 00000000..6997f03c --- /dev/null +++ b/pkg/configmanager/asset/asset.go @@ -0,0 +1,34 @@ +package asset + +type Asset interface { + Init() ([]byte, error) + Delete() error + Persist() error +} + +func InitAsset(asset Asset) ([]byte, error) { + assetData, err := asset.Init() + if err != nil { + return nil, err + } + + return assetData, err +} + +func DeleteAsset(asset Asset) error { + err := asset.Delete() + if err != nil { + return err + } + + return nil +} + +func PersistAsset(asset Asset) error { + err := asset.Persist() + if err != nil { + return err + } + + return nil +} diff --git a/pkg/configmanager/asset/cluster/clusterasset.go b/pkg/configmanager/asset/cluster/clusterasset.go new file mode 100644 index 00000000..9e5c46fd --- /dev/null +++ b/pkg/configmanager/asset/cluster/clusterasset.go @@ -0,0 +1,33 @@ +package cluster + +type ClusterAsset struct { +} + +// TODO: Init inits the cluster asset. +func (ca *ClusterAsset) Init() ([]byte, error) { + err := ca.validateAsset() + if err != nil { + return nil, err + } + ca.setAssetDefault() + + return nil, nil +} + +func (ca *ClusterAsset) validateAsset() error { + return nil +} + +func (ca *ClusterAsset) setAssetDefault() { +} + +// TODO: Delete deletes the cluster asset. +func (ca *ClusterAsset) Delete() error { + return nil +} + +// TODO: Persist persists the cluster asset. +func (ca *ClusterAsset) Persist() error { + // TODO: Serialize the cluster asset to json or yaml. + return nil +} diff --git a/pkg/configmanager/asset/ignition/ignasset.go b/pkg/configmanager/asset/ignition/ignasset.go new file mode 100644 index 00000000..e1462ea9 --- /dev/null +++ b/pkg/configmanager/asset/ignition/ignasset.go @@ -0,0 +1,33 @@ +package ignition + +type IgnAsset struct { +} + +// TODO: Init inits the ign asset. +func (ia *IgnAsset) Init() ([]byte, error) { + err := ia.validateAsset() + if err != nil { + return nil, err + } + ia.setAssetDefault() + + return nil, nil +} + +func (ia *IgnAsset) validateAsset() error { + return nil +} + +func (ia *IgnAsset) setAssetDefault() { +} + +// TODO: Delete deletes the ign asset. +func (ia *IgnAsset) Delete() error { + return nil +} + +// TODO: Persist persists the ign asset. +func (ia *IgnAsset) Persist() error { + // TODO: Serialize the cluster asset to json or yaml. + return nil +} diff --git a/pkg/configmanager/asset/infra/tfasset.go b/pkg/configmanager/asset/infra/tfasset.go new file mode 100644 index 00000000..d742d930 --- /dev/null +++ b/pkg/configmanager/asset/infra/tfasset.go @@ -0,0 +1,33 @@ +package infra + +type TFAsset struct { +} + +// TODO: Init inits the tf asset. +func (tf *TFAsset) Init() ([]byte, error) { + err := tf.validateAsset() + if err != nil { + return nil, err + } + tf.setAssetDefault() + + return nil, nil +} + +func (tf *TFAsset) validateAsset() error { + return nil +} + +func (tf *TFAsset) setAssetDefault() { +} + +// TODO: Delete deletes the tf asset. +func (tf *TFAsset) Delete() error { + return nil +} + +// TODO: Persist persists the tf asset. +func (tf *TFAsset) Persist() error { + // TODO: Serialize the cluster asset to json or yaml. + return nil +} diff --git a/pkg/configmanager/asset/nkd/nkd.go b/pkg/configmanager/asset/nkd/nkd.go new file mode 100644 index 00000000..104468e2 --- /dev/null +++ b/pkg/configmanager/asset/nkd/nkd.go @@ -0,0 +1,3 @@ +package nkd + +// Store the nkd environment configuration. diff --git a/pkg/configmanager/manager/manager.go b/pkg/configmanager/manager/manager.go new file mode 100644 index 00000000..5d04392c --- /dev/null +++ b/pkg/configmanager/manager/manager.go @@ -0,0 +1 @@ +package manager -- Gitee