Documentation ¶
Overview ¶
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- type ApiResource
- type ContentResource
- type Deployer
- type DeploymentAPIVanilla
- type DeploymentContentVanilla
- type DeploymentObj
- type DeploymentWorkerVanilla
- type GalaxyResource
- type IngressNginx
- type IngressObj
- type IngressOthers
- type Ingresser
- type RepoManagerReconciler
- func (r *RepoManagerReconciler) CreateRole(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
- func (r *RepoManagerReconciler) CreateRoleBinding(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
- func (r *RepoManagerReconciler) CreateServiceAccount(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
- func (r *RepoManagerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
- func (r *RepoManagerReconciler) SetupWithManager(mgr ctrl.Manager) error
- type ResourceDefinition
Constants ¶
const ( API_DEPLOYMENT deploymentType = iota CONTENT_DEPLOYMENT WORKER_DEPLOYMENT )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiResource ¶
type ApiResource struct { Definition ResourceDefinition Function func(controllers.FunctionResources) client.Object }
ApiResource has the definition and function to provision api objects
type ContentResource ¶
type ContentResource struct { Definition ResourceDefinition Function func(controllers.FunctionResources) client.Object }
ContentResource has the definition and function to provision content objects
type Deployer ¶
type Deployer interface {
Deploy(controllers.FunctionResources) client.Object
}
Deployer is an interface for the several deployment types: - api Deployment in vanilla k8s or OCP - content Deployment in vanilla k8s or OCP - worker Deployment in vanilla k8s or OCP
type DeploymentAPIVanilla ¶
type DeploymentAPIVanilla struct{}
DeploymentAPIVanilla is the pulpcore-api Deployment definition for common k8s distributions
func (DeploymentAPIVanilla) Deploy ¶
func (DeploymentAPIVanilla) Deploy(resources controllers.FunctionResources) client.Object
Deploy returns a pulp-api Deployment object
type DeploymentContentVanilla ¶
type DeploymentContentVanilla struct{}
DeploymentContentVanilla is the pulpcore-content Deployment definition for common k8s distributions
func (DeploymentContentVanilla) Deploy ¶
func (DeploymentContentVanilla) Deploy(resources controllers.FunctionResources) client.Object
Deploy returns a pulp-content Deployment object
type DeploymentObj ¶
type DeploymentObj struct { // Deployer is the abstraction for the different pulp deployment types (api,content,worker) Deployer }
DeploymentObj represents the k8s "Deployment" resource
type DeploymentWorkerVanilla ¶
type DeploymentWorkerVanilla struct{}
DeploymentWorkerVanilla is the pulpcore-worker Deployment definition for common k8s distributions
func (DeploymentWorkerVanilla) Deploy ¶
func (DeploymentWorkerVanilla) Deploy(resources controllers.FunctionResources) client.Object
Deploy returns a pulp-worker Deployment object
type GalaxyResource ¶
type GalaxyResource struct { Definition ResourceDefinition Function func(controllers.FunctionResources) client.Object }
GalaxyResource has the definition and function to provision galaxy objects
type IngressNginx ¶
type IngressNginx struct{}
func (IngressNginx) Deploy ¶
func (i IngressNginx) Deploy(resources controllers.FunctionResources, plugins []controllers.IngressPlugin) (*netv1.Ingress, error)
Deploy returns an ingress using nginx controller
type IngressObj ¶
type IngressObj struct {
Ingresser
}
IngressObj represents the k8s "Ingress" resource
type IngressOthers ¶
type IngressOthers struct{}
func (IngressOthers) Deploy ¶
func (i IngressOthers) Deploy(resources controllers.FunctionResources, plugins []controllers.IngressPlugin) (*netv1.Ingress, error)
Deploy returns an ingress with the default configurations
type Ingresser ¶
type Ingresser interface {
Deploy(controllers.FunctionResources, []controllers.IngressPlugin) (*netv1.Ingress, error)
}
Ingresser is an interface for the several ingress types/controllers (nginx,haproxy)
type RepoManagerReconciler ¶
type RepoManagerReconciler struct { client.Client RawLogger logr.Logger RESTClient rest.Interface RESTConfig *rest.Config Scheme *runtime.Scheme // contains filtered or unexported fields }
RepoManagerReconciler reconciles a Pulp object
func (*RepoManagerReconciler) CreateRole ¶
func (r *RepoManagerReconciler) CreateRole(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
func (*RepoManagerReconciler) CreateRoleBinding ¶
func (r *RepoManagerReconciler) CreateRoleBinding(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
func (*RepoManagerReconciler) CreateServiceAccount ¶
func (r *RepoManagerReconciler) CreateServiceAccount(ctx context.Context, pulp *repomanagerpulpprojectorgv1beta2.Pulp) (ctrl.Result, error)
func (*RepoManagerReconciler) Reconcile ¶
func (r *RepoManagerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state.
func (*RepoManagerReconciler) SetupWithManager ¶
func (r *RepoManagerReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type ResourceDefinition ¶
type ResourceDefinition struct { // A Context carries a deadline, a cancellation signal, and other values across // API boundaries. context.Context // Type is used to define what Kubernetes resource should be provisioned Type interface{} // Name sets the resource name Name string // Alias is used in .status.conditions field Alias string // ConditionType is used to update .status.conditions with the current resource state ConditionType string // Pulp is the Schema for the pulps API *repomanagerpulpprojectorgv1beta2.Pulp }
ResourceDefinition has the attributes of a Pulp Resource