Documentation ¶
Index ¶
Constants ¶
const ( ControllerNamespace = "declcd-system" ControllerName = "gitops-controller" )
Variables ¶
var (
ErrLoadProject = errors.New("Could not load project")
)
Functions ¶
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager loads a declcd project and resolves the component dependency graph.
func NewManager ¶
type ReconcileResult ¶
type ReconcileResult struct {
Suspended bool
}
type Reconciler ¶
type Reconciler struct { Log logr.Logger Client client.Client DynamicClient kube.Client[unstructured.Unstructured] ProjectManager Manager RepositoryManager vcs.RepositoryManager ComponentBuilder component.Builder ChartReconciler helm.ChartReconciler InventoryManager *inventory.Manager GarbageCollector garbage.Collector Decrypter secret.Decrypter FieldManager string WorkerPoolSize int }
Reconciler clones, pulls and loads a GitOps Git repository containing the desired cluster state, then decrypts secrets, translates cue definitions to either Kubernetes unstructurd objects or Helm Releases and applies/installs them on a Kubernetes cluster. Every run stores objects in the inventory and collects dangling objects.
func (Reconciler) Reconcile ¶
func (reconciler Reconciler) Reconcile( ctx context.Context, gProject gitopsv1.GitOpsProject, ) (*ReconcileResult, error)
Reconcile clones, pulls and loads a GitOps Git repository containing the desired cluster state, then decrypts secrets, translates cue definitions to either Kubernetes unstructurd objects or Helm Releases and applies/installs them on a Kubernetes cluster. It stores objects in the inventory and collects dangling objects.