added command and args to status
Some checks failed
Build and Push Docker Image / Build image (push) Has been cancelled

This commit is contained in:
2025-04-05 22:35:43 +03:00
parent 39f1c0d92c
commit 7ef824830e
5 changed files with 109 additions and 77 deletions

View File

@@ -44,6 +44,8 @@ type ServerStatus struct {
Domain string `json:"domain,omitempty"` Domain string `json:"domain,omitempty"`
Running bool `json:"running,omitempty"` Running bool `json:"running,omitempty"`
HostPorts []PortMapping `json:"host_ports,omitempty"` HostPorts []PortMapping `json:"host_ports,omitempty"`
Args []string `json:"args,omitempty"`
Command []string `json:"command,omitempty"`
} }
type ServerSpec struct { type ServerSpec struct {

View File

@@ -333,6 +333,16 @@ func (in *ServerStatus) DeepCopyInto(out *ServerStatus) {
*out = make([]PortMapping, len(*in)) *out = make([]PortMapping, len(*in))
copy(*out, *in) copy(*out, *in)
} }
if in.Args != nil {
in, out := &in.Args, &out.Args
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Command != nil {
in, out := &in.Command, &out.Command
*out = make([]string, len(*in))
copy(*out, *in)
}
} }
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatus. // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatus.

View File

@@ -94,6 +94,14 @@ spec:
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
Important: Run "make" to regenerate code after modifying this file Important: Run "make" to regenerate code after modifying this file
properties: properties:
args:
items:
type: string
type: array
command:
items:
type: string
type: array
domain: domain:
type: string type: string
host_ports: host_ports:

View File

@@ -2,9 +2,9 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: server-manager-role name: manager-role
rules: rules:
- resources: - resources:
- persistentvolumeclaims - persistentvolumeclaims
- services - services
verbs: verbs:
@@ -15,9 +15,7 @@ rules:
- patch - patch
- update - update
- watch - watch
apiGroups: - resources:
- ""
- resources:
- pods - pods
verbs: verbs:
- create - create
@@ -25,24 +23,14 @@ rules:
- get - get
- list - list
- watch - watch
apiGroups: - apiGroups:
- ""
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- apiGroups:
- server-manager.acooldomain.co - server-manager.acooldomain.co
resources: resources:
- images - images
verbs: verbs:
- get - get
- list - list
- watch - apiGroups:
- apiGroups:
- server-manager.acooldomain.co - server-manager.acooldomain.co
resources: resources:
- servermanagers - servermanagers
@@ -54,13 +42,13 @@ rules:
- patch - patch
- update - update
- watch - watch
- apiGroups: - apiGroups:
- server-manager.acooldomain.co - server-manager.acooldomain.co
resources: resources:
- servermanagers/finalizers - servermanagers/finalizers
verbs: verbs:
- update - update
- apiGroups: - apiGroups:
- server-manager.acooldomain.co - server-manager.acooldomain.co
resources: resources:
- servermanagers/status - servermanagers/status
@@ -68,7 +56,7 @@ rules:
- get - get
- patch - patch
- update - update
- apiGroups: - apiGroups:
- traefik.io - traefik.io
resources: resources:
- ingressroutes - ingressroutes

View File

@@ -185,11 +185,27 @@ func (r *ServerManagerReconciler) Reconcile(ctx context.Context, req ctrl.Reques
s.Status.Server.Running = true s.Status.Server.Running = true
statusChanged = true statusChanged = true
} }
if s.Status.Server.Command == nil {
s.Status.Server.Command = serverPod.Spec.Containers[0].Command
statusChanged = true
}
if s.Status.Server.Args == nil {
s.Status.Server.Args = serverPod.Spec.Containers[0].Args
statusChanged = true
}
default: default:
if s.Status.Server.Running { if s.Status.Server.Running {
s.Status.Server.Running = false s.Status.Server.Running = false
statusChanged = true statusChanged = true
} }
if len(s.Status.Server.Args) != 0 {
s.Status.Server.Args = nil
statusChanged = true
}
if len(s.Status.Server.Command) != 0 {
s.Status.Server.Command = nil
statusChanged = true
}
} }
} }
@@ -198,6 +214,14 @@ func (r *ServerManagerReconciler) Reconcile(ctx context.Context, req ctrl.Reques
s.Status.Server.Running = false s.Status.Server.Running = false
statusChanged = true statusChanged = true
} }
if len(s.Status.Server.Args) != 0 {
s.Status.Server.Args = nil
statusChanged = true
}
if len(s.Status.Server.Command) != 0 {
s.Status.Server.Command = nil
statusChanged = true
}
} }
logging.Info("verified pod") logging.Info("verified pod")