Documentation ¶
Overview ¶
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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.
Copyright (c) 2019-2021 Red Hat, Inc. 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 ¶
- func CommonEnvironmentVariables(workspaceName, workspaceId, namespace, creator string) []v1.EnvVar
- func DeleteWorkspaceDeployment(ctx context.Context, workspace *dw.DevWorkspace, client runtimeClient.Client) (wait bool, err error)
- func GetDevWorkspaceSecurityContext() *corev1.PodSecurityContext
- func ScaleDeploymentToZero(workspace *dw.DevWorkspace, client runtimeClient.Client) error
- func SyncMutableObjects(objects []runtimeClient.Object, client runtimeClient.Client, ...) (requeue bool, err error)
- func SyncObject(object runtimeClient.Object, client runtimeClient.Client, ...) (clusterObject runtime.Object, requeue bool, apiErr error)
- type ClusterAPI
- type DeploymentProvisioningStatus
- type ProvisioningStatus
- type PullSecretsProvisioningStatus
- type RoutingProvisioningStatus
- type ServiceAcctProvisioningStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteWorkspaceDeployment ¶
func DeleteWorkspaceDeployment(ctx context.Context, workspace *dw.DevWorkspace, client runtimeClient.Client) (wait bool, err error)
DeleteWorkspaceDeployment deletes the deployment for the DevWorkspace
func GetDevWorkspaceSecurityContext ¶
func GetDevWorkspaceSecurityContext() *corev1.PodSecurityContext
func ScaleDeploymentToZero ¶
func ScaleDeploymentToZero(workspace *dw.DevWorkspace, client runtimeClient.Client) error
ScaleDeploymentToZero scales the cluster deployment to zero
func SyncMutableObjects ¶
func SyncMutableObjects(objects []runtimeClient.Object, client runtimeClient.Client, reqLogger logr.Logger) (requeue bool, err error)
SyncMutableObjects synchronizes runtime objects and changes/updates existing ones
func SyncObject ¶
func SyncObject(object runtimeClient.Object, client runtimeClient.Client, reqLogger logr.Logger, update bool) (clusterObject runtime.Object, requeue bool, apiErr error)
SyncObject synchronizes a runtime object and changes/updates existing ones
Types ¶
type ClusterAPI ¶
type DeploymentProvisioningStatus ¶
type DeploymentProvisioningStatus struct {
ProvisioningStatus
}
func SyncDeploymentToCluster ¶
func SyncDeploymentToCluster( workspace *dw.DevWorkspace, podAdditions []v1alpha1.PodAdditions, saName string, clusterAPI ClusterAPI) DeploymentProvisioningStatus
type ProvisioningStatus ¶
type ProvisioningStatus struct { // Continue should be true if cluster state matches spec state for this step Continue bool Requeue bool FailStartup bool Err error Message string }
func SyncRBAC ¶
func SyncRBAC(workspace *dw.DevWorkspace, client client.Client, reqLogger logr.Logger) ProvisioningStatus
SyncRBAC generates RBAC and synchronizes the runtime objects
func (*ProvisioningStatus) Info ¶
func (s *ProvisioningStatus) Info() string
Info returns the the user-friendly info about provisioning status It includes message or error or both if present
type PullSecretsProvisioningStatus ¶
type PullSecretsProvisioningStatus struct { ProvisioningStatus v1alpha1.PodAdditions }
func PullSecrets ¶
func PullSecrets(clusterAPI ClusterAPI, serviceAccountName, namespace string) PullSecretsProvisioningStatus
type RoutingProvisioningStatus ¶
type RoutingProvisioningStatus struct { ProvisioningStatus PodAdditions *v1alpha1.PodAdditions ExposedEndpoints map[string]v1alpha1.ExposedEndpointList }
func SyncRoutingToCluster ¶
func SyncRoutingToCluster( workspace *dw.DevWorkspace, clusterAPI ClusterAPI) RoutingProvisioningStatus
type ServiceAcctProvisioningStatus ¶
type ServiceAcctProvisioningStatus struct { ProvisioningStatus ServiceAccountName string }
func SyncServiceAccount ¶
func SyncServiceAccount( workspace *dw.DevWorkspace, additionalAnnotations map[string]string, clusterAPI ClusterAPI) ServiceAcctProvisioningStatus