Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/ws-manager-mk2/cmd/sample-workspace/main.go
2499 views
1
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License-AGPL.txt in the project root for license information.
4
5
package main
6
7
import (
8
"encoding/base64"
9
"fmt"
10
"log"
11
"time"
12
13
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
14
"k8s.io/utils/pointer"
15
"sigs.k8s.io/yaml"
16
17
workspacev1 "github.com/gitpod-io/gitpod/ws-manager/api/crd/v1"
18
)
19
20
func main() {
21
initializer, _ := base64.StdEncoding.DecodeString("IoUCCn8KfXdvcmtzcGFjZXMvZ2l0cG9kaW8tZ2l0cG9kLTZjbDB6b2o0N2Z4L3NuYXBzaG90LTE2NTA2NDE3NzQ0MzUxMDExODMudGFyQGdpdHBvZC1wcm9kLXVzZXItMmRmNTNjMGItODgwZi00NmYxLWI3MmUtOWIwNDM3ZDYyOGEzEoEBCidodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL2dpdHBvZC5naXQYAiIEbWFpbioGZ2l0cG9kMkYQAipCaHR0cHM6Ly9naXRwb2QuaW8vYXBpL290cy9nZXQvOGUyODI3YmYtZGI5Zi00ZmNiLWE5YzItZTc3N2Y2YTE3NWI2")
22
ws := workspacev1.Workspace{
23
TypeMeta: metav1.TypeMeta{
24
APIVersion: "workspace.gitpod.io/v1",
25
Kind: "Workspace",
26
},
27
ObjectMeta: metav1.ObjectMeta{
28
Name: "d735b3d9-e24b-492c-926f-eb5cd7cb1c3a",
29
},
30
Spec: workspacev1.WorkspaceSpec{
31
Ownership: workspacev1.Ownership{
32
Owner: "f2e2a512-9056-4de7-8a07-0210162055fc",
33
WorkspaceID: "gitpodio-gitpod-qy1xib2g0a0",
34
},
35
Type: workspacev1.WorkspaceTypeRegular,
36
Image: workspacev1.WorkspaceImages{
37
Workspace: workspacev1.WorkspaceImage{Ref: pointer.String("eu.gcr.io/gitpod-dev/workspace-images:c80f600433dad18e4dc852b26367da732536f5dcf69dc813af8fe58f5eb73b16")},
38
IDE: workspacev1.IDEImages{
39
Web: "eu.gcr.io/gitpod-core-dev/build/ide/code:nightly@sha256:5ad86443d01645a1c7011938ccac4b5ebbaffb0cf4b55ee51ee45296bfd5804b",
40
Supervisor: "eu.gcr.io/gitpod-core-dev/build/supervisor:commit-5d5781983089056e37d34c762f1f291b9a796357",
41
},
42
},
43
Initializer: initializer,
44
WorkspaceLocation: "/workspace/gitpod",
45
Timeout: workspacev1.TimeoutSpec{
46
Time: &metav1.Duration{Duration: 60 * time.Minute},
47
},
48
Admission: workspacev1.AdmissionSpec{
49
Level: workspacev1.AdmissionLevelOwner,
50
},
51
},
52
}
53
out, err := yaml.Marshal(ws)
54
if err != nil {
55
log.Fatal(err)
56
}
57
fmt.Println(string(out))
58
}
59
60