Skip to content

Commit 59ce69d

Browse files
committed
remove examples add a simple example
1 parent 155879c commit 59ce69d

14 files changed

Lines changed: 303 additions & 292 deletions

Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,14 @@ FROM alpine:3.19
2424
WORKDIR /
2525
COPY --from=builder /workspace/manager .
2626

27+
# Create home directory for non-root user
28+
RUN mkdir -p /home/nonroot && \
29+
chown -R 65532:65532 /home/nonroot
30+
2731
# Install Helm
2832
ENV HELM_VERSION="v3.14.4"
33+
ENV HOME="/home/nonroot"
34+
2935
RUN apk add --no-cache curl tar && \
3036
curl -fsSL -o helm.tar.gz https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz && \
3137
tar -xzf helm.tar.gz && \

api/v1alpha1/virtualcluster_types.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ package v1alpha1
1818

1919
import (
2020
"encoding/json"
21+
"fmt"
2122

2223
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2324

2425
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
26+
"sigs.k8s.io/yaml"
2527
)
2628

2729
// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
@@ -40,9 +42,12 @@ type VirtualClusterSpec struct {
4042
func (in VirtualCluster) GetValues() (map[string]interface{}, error) {
4143
var values map[string]interface{}
4244
if in.Spec.Values != nil {
43-
err := json.Unmarshal(in.Spec.Values.Raw, &values)
44-
if err != nil {
45-
return nil, err
45+
// For raw JSON values
46+
if err := json.Unmarshal(in.Spec.Values.Raw, &values); err != nil {
47+
// If raw JSON unmarshal fails, try YAML unmarshal
48+
if yamlErr := yaml.Unmarshal(in.Spec.Values.Raw, &values); yamlErr != nil {
49+
return nil, fmt.Errorf("failed to unmarshal values as JSON or YAML: %v, %v", err, yamlErr)
50+
}
4651
}
4752
}
4853
// Initialize an empty map if values is nil

config/rbac/role.yaml

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,79 @@
22
apiVersion: rbac.authorization.k8s.io/v1
33
kind: ClusterRole
44
metadata:
5+
labels:
6+
app.kubernetes.io/name: clusterrole
7+
app.kubernetes.io/instance: manager-role
8+
app.kubernetes.io/component: rbac
9+
app.kubernetes.io/created-by: openvirtualcluster-operator
10+
app.kubernetes.io/part-of: openvirtualcluster-operator
11+
app.kubernetes.io/managed-by: kustomize
512
name: manager-role
613
rules:
14+
- apiGroups:
15+
- core.openvc.dev
16+
resources:
17+
- virtualclusters
18+
verbs:
19+
- create
20+
- delete
21+
- get
22+
- list
23+
- patch
24+
- update
25+
- watch
26+
- apiGroups:
27+
- core.openvc.dev
28+
resources:
29+
- virtualclusters/finalizers
30+
verbs:
31+
- update
32+
- apiGroups:
33+
- core.openvc.dev
34+
resources:
35+
- virtualclusters/status
36+
verbs:
37+
- get
38+
- patch
39+
- update
740
- apiGroups:
841
- ""
942
resources:
10-
- configmaps
43+
- namespaces
1144
- pods
12-
- secrets
1345
- services
46+
- serviceaccounts
47+
- configmaps
48+
- secrets
49+
- events
50+
- endpoints
51+
- persistentvolumeclaims
52+
- pods/attach
53+
- pods/exec
54+
- pods/log
55+
- pods/portforward
56+
- pods/status
57+
- pods/ephemeralcontainers
1458
verbs:
1559
- create
1660
- delete
1761
- get
1862
- list
63+
- patch
1964
- update
2065
- watch
2166
- apiGroups:
2267
- apps
2368
resources:
2469
- deployments
2570
- statefulsets
71+
- replicasets
2672
verbs:
2773
- create
2874
- delete
2975
- get
3076
- list
77+
- patch
3178
- update
3279
- watch
3380
- apiGroups:
@@ -39,12 +86,13 @@ rules:
3986
- delete
4087
- get
4188
- list
89+
- patch
4290
- update
4391
- watch
4492
- apiGroups:
45-
- core.openvc.dev
93+
- networking.k8s.io
4694
resources:
47-
- virtualclusters
95+
- ingresses
4896
verbs:
4997
- create
5098
- delete
@@ -54,27 +102,17 @@ rules:
54102
- update
55103
- watch
56104
- apiGroups:
57-
- core.openvc.dev
105+
- rbac.authorization.k8s.io
58106
resources:
59-
- virtualclusters/finalizers
60-
verbs:
61-
- update
62-
- apiGroups:
63-
- core.openvc.dev
64-
resources:
65-
- virtualclusters/status
66-
verbs:
67-
- get
68-
- patch
69-
- update
70-
- apiGroups:
71-
- networking.k8s.io
72-
resources:
73-
- ingresses
107+
- roles
108+
- rolebindings
109+
- clusterroles
110+
- clusterrolebindings
74111
verbs:
75112
- create
76113
- delete
77114
- get
78115
- list
116+
- patch
79117
- update
80118
- watch

examples/basic-virtualcluster.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

examples/custom-k8s-version.yaml

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
name: openvc-default-namespace-role
5+
namespace: default
6+
rules:
7+
- apiGroups:
8+
- ""
9+
resources:
10+
- serviceaccounts
11+
- configmaps
12+
- pods
13+
- services
14+
- secrets
15+
- events
16+
- endpoints
17+
- persistentvolumeclaims
18+
- pods/attach
19+
- pods/exec
20+
- pods/log
21+
- pods/portforward
22+
- pods/status
23+
verbs:
24+
- create
25+
- delete
26+
- get
27+
- list
28+
- patch
29+
- update
30+
- watch
31+
- apiGroups:
32+
- apps
33+
resources:
34+
- deployments
35+
- statefulsets
36+
- replicasets
37+
verbs:
38+
- create
39+
- delete
40+
- get
41+
- list
42+
- patch
43+
- update
44+
- watch
45+
- apiGroups:
46+
- batch
47+
resources:
48+
- jobs
49+
verbs:
50+
- create
51+
- delete
52+
- get
53+
- list
54+
- patch
55+
- update
56+
- watch
57+
- apiGroups:
58+
- rbac.authorization.k8s.io
59+
resources:
60+
- roles
61+
- rolebindings
62+
verbs:
63+
- create
64+
- delete
65+
- get
66+
- list
67+
- patch
68+
- update
69+
- watch
70+
---
71+
apiVersion: rbac.authorization.k8s.io/v1
72+
kind: RoleBinding
73+
metadata:
74+
name: openvc-default-namespace-rolebinding
75+
namespace: default
76+
roleRef:
77+
apiGroup: rbac.authorization.k8s.io
78+
kind: Role
79+
name: openvc-default-namespace-role
80+
subjects:
81+
- kind: ServiceAccount
82+
name: openvc-openvirtualcluster-operator
83+
namespace: openvc-system

examples/distro-specific.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.

examples/exposed-service.yaml

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)