func TestOpenshiftRoles(t *testing.T) { roles := bootstrappolicy.GetBootstrapOpenshiftRoles("openshift") list := &api.List{} for i := range roles { list.Items = append(list.Items, &roles[i]) } testObjects(t, list, "bootstrap_openshift_roles.yaml") }
func (o CreateBootstrapPolicyFileOptions) CreateBootstrapPolicyFile() error { if err := os.MkdirAll(path.Dir(o.File), os.FileMode(0755)); err != nil { return err } policyTemplate := &api.Template{} clusterRoles := bootstrappolicy.GetBootstrapClusterRoles() for i := range clusterRoles { versionedObject, err := kapi.Scheme.ConvertToVersion(&clusterRoles[i], latest.Version.String()) if err != nil { return err } policyTemplate.Objects = append(policyTemplate.Objects, versionedObject) } clusterRoleBindings := bootstrappolicy.GetBootstrapClusterRoleBindings() for i := range clusterRoleBindings { versionedObject, err := kapi.Scheme.ConvertToVersion(&clusterRoleBindings[i], latest.Version.String()) if err != nil { return err } policyTemplate.Objects = append(policyTemplate.Objects, versionedObject) } openshiftRoles := bootstrappolicy.GetBootstrapOpenshiftRoles(o.OpenShiftSharedResourcesNamespace) for i := range openshiftRoles { versionedObject, err := kapi.Scheme.ConvertToVersion(&openshiftRoles[i], latest.Version.String()) if err != nil { return err } policyTemplate.Objects = append(policyTemplate.Objects, versionedObject) } openshiftRoleBindings := bootstrappolicy.GetBootstrapOpenshiftRoleBindings(o.OpenShiftSharedResourcesNamespace) for i := range openshiftRoleBindings { versionedObject, err := kapi.Scheme.ConvertToVersion(&openshiftRoleBindings[i], latest.Version.String()) if err != nil { return err } policyTemplate.Objects = append(policyTemplate.Objects, versionedObject) } versionedPolicyTemplate, err := kapi.Scheme.ConvertToVersion(policyTemplate, latest.Version.String()) if err != nil { return err } buffer := &bytes.Buffer{} (&kubectl.JSONPrinter{}).PrintObj(versionedPolicyTemplate, buffer) if err := ioutil.WriteFile(o.File, buffer.Bytes(), 0644); err != nil { return err } return nil }