func()

in pkg/provider/k8s/k8s.go [146:193]


func (c *K8s) ResourceApply(deployments []Resource) error {

	var err error
	for _, deployment := range deployments {
		for _, resource := range deployment.Objects {
			switch kind := strings.ToLower(resource.GetObjectKind().GroupVersionKind().Kind); kind {
			case "clusterrole":
				err = c.clusterRoleApply(resource)
			case "clusterrolebinding":
				err = c.clusterRoleBindingApply(resource)
			case "configmap":
				err = c.configMapApply(resource)
			case "daemonset":
				err = c.daemonSetApply(resource)
			case "deployment":
				err = c.deploymentApply(resource)
			case "ingress":
				err = c.ingressApply(resource)
			case "namespace":
				err = c.nameSpaceApply(resource)
			case "role":
				err = c.roleApply(resource)
			case "rolebinding":
				err = c.roleBindingApply(resource)
			case "service":
				err = c.serviceApply(resource)
			case "serviceaccount":
				err = c.serviceAccountApply(resource)
			case "secret":
				err = c.secretApply(resource)
			case "persistentvolumeclaim":
				err = c.persistentVolumeClaimApply(resource)
			case "customresourcedefinition":
				err = c.customResourceApply(resource)
			case "statefulset":
				err = c.statefulSetApply(resource)
			case "job":
				err = c.jobApply(resource)
			default:
				err = fmt.Errorf("creating request for unimplimented resource type:%v", kind)
			}
			if err != nil {
				return fmt.Errorf("error applying '%v' err:%v", deployment.FileName, err)
			}
		}
	}
	return nil
}