Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ spec:
# SSH for remote access
- name: ssh
image: linuxserver/openssh-server:latest
exposePort: 2222
ports:
- name: ssh
containerPort: 2222
env:
- name: PASSWORD_ACCESS
value: "true"
Expand All @@ -149,7 +151,7 @@ spec:
| **SSH** | `linuxserver/openssh-server` | Remote shell, rsync, SSHFS mount |
| **Git Sync** | `registry.k8s.io/git-sync` | Bidirectional repo synchronization |

The `exposePort` field adds the port to the Service for external access.
The `ports` will automatically be added to the Service for external access.
Comment thread
dmadisetti marked this conversation as resolved.

### GPU Support

Expand Down
40 changes: 1 addition & 39 deletions api/v1alpha1/marimonotebook_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,44 +40,6 @@ type SecretKeySelector struct {
SecretKeyRef corev1.SecretKeySelector `json:"secretKeyRef"`
}

// SidecarSpec defines an additional container that runs alongside marimo.
type SidecarSpec struct {
// Name of the sidecar container (must be unique)
// +kubebuilder:validation:Required
Name string `json:"name"`

// Image to use for the sidecar
// +kubebuilder:validation:Required
Image string `json:"image"`

// ExposePort adds this port to the Service for external access
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
ExposePort *int32 `json:"exposePort,omitempty"`

// Env variables for the sidecar
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`

// Command overrides the container entrypoint
// +optional
Command []string `json:"command,omitempty"`

// Args to pass to the command
// +optional
Args []string `json:"args,omitempty"`

// Resources for the sidecar container
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

// SecurityContext for the sidecar container
// Required for FUSE-based mounts (s3fs, sshfs) which need privileged access
// +optional
SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

// MarimoNotebookSpec defines the desired state of MarimoNotebook.
// +kubebuilder:validation:XValidation:rule="!(has(self.sidecars) && size(self.sidecars) > 0 && !has(self.storage))",message="storage is required when sidecars are specified"
// +kubebuilder:validation:XValidation:rule="!(has(self.source) && has(self.content))",message="source and content are mutually exclusive"
Expand Down Expand Up @@ -134,7 +96,7 @@ type MarimoNotebookSpec struct {
// Sidecars are additional containers that run alongside marimo
// They share the PVC volume mounted at /data
// +optional
Sidecars []SidecarSpec `json:"sidecars,omitempty"`
Sidecars []corev1.Container `json:"sidecars,omitempty"`

// PodOverrides allows customizing the pod spec via strategic merge patch
// Use this for advanced configuration like nodeSelector, tolerations, etc.
Expand Down
49 changes: 1 addition & 48 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading