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
72 changes: 72 additions & 0 deletions .cursor/skills/microshift-disable-lvms-csi/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
name: microshift-disable-lvms-csi
description: Disable the LVMS (LVM Storage) CSI provider or CSI snapshot in MicroShift to reduce RAM, CPU, and storage use. Use when editing or writing MicroShift storage procedures, configuring optional CSI components, or when the user refers to microshift config.yaml, LVMS, CSI snapshot, or disabling CSI in MicroShift.
---

# Disabling LVMS CSI Provider or CSI Snapshot in MicroShift

Procedures for disabling the built-in LVMS CSI provider or CSI snapshot in MicroShift. Configuration must be set **before** first install/run; if MicroShift is already running, components must be removed manually (see product uninstallation docs).

Config file: `/etc/microshift/config.yaml`.

---

## Disabling CSI snapshot

Disable the CSI snapshot controller so snapshot implementation pods are not deployed.

1. In `/etc/microshift/config.yaml`, under the `storage` section, set `optionalCsiComponents`:

```yaml
# ...
storage:
optionalCsiComponents: [] # or [""] or ["none"]; do not include "snapshot-controller"
# ...
```

- **Valid values**: `[]`, `[""]`, `["snapshot-controller"]`, or `["none"]`. Value `none` is mutually exclusive with others.
- **Default**: If `optionalCsiComponents` is empty or null, MicroShift deploys `snapshot-controller`.

2. Start MicroShift (if not already running):

```bash
sudo systemctl start microshift
```

MicroShift does not redeploy disabled components after restart.

---

## Disabling the CSI driver (LVMS)

Disable the CSI driver so LVMS implementation pods are not deployed.

1. In `/etc/microshift/config.yaml`, under the `storage` section, set `driver`:

```yaml
# ...
storage:
driver:
- "none"
# ...
```

- **Valid values**: `none` (disable) or `lvms`.
- **Default**: Empty or null means LVMS is deployed.

2. Start or enable MicroShift:

```bash
sudo systemctl enable --now microshift
```

MicroShift does not redeploy disabled components after restart.

---

## Source assembly and modules

- Assembly: `microshift_configuring/microshift-disable-lvms-csi-provider-csi-snapshot.adoc`
- Modules: `modules/microshift-disabling-lvms-csi-snapshot.adoc`, `modules/microshift-disabling-lvms-csi-driver.adoc`

When editing these docs, keep IMPORTANT/NOTE callouts: configuration-before-first-run, no automatic removal of already-running components, and that disabled components are not redeployed after restart.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ include::_attributes/attributes-microshift.adoc[]

toc::[]

You can configure {microshift-short} to disable the built-in logical volume manager storage (LVMS) Container Storage Interface (CSI) provider or the CSI snapshot capabilities to reduce the use of runtime resources such as RAM, CPU, and storage.
[role="_abstract"]
To reduce use of runtime resources such as RAM, CPU, and storage in {microshift-short}, you can disable the built-in LVMS CSI provider or CSI snapshot. Configure the storage section in the configuration file before you install or run the product.

include::modules/microshift-disabling-lvms-csi-snapshot.adoc[leveloffset=+1]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ include::_attributes/attributes-microshift.adoc[]

toc::[]

[role="_abstract"]
To deploy applications or make other changes through the {microshift-short} API with tools other than `kustomize` manifests, you must wait until the greenboot health checks have finished. This ensures that your changes are not lost if greenboot rolls your `rpm-ostree` system back to an earlier state.

The `greenboot-healthcheck` service runs one time and then exits. After greenboot has exited and the system is in a healthy state, you can proceed with configuration changes and deployments.
Expand Down
2 changes: 2 additions & 0 deletions microshift_configuring/microshift-ingress-controller.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ include::modules/microshift-ingress-controller-conc.adoc[leveloffset=+1]

include::modules/microshift-ingress-controller-config.adoc[leveloffset=+1]

include::modules/microshift-ingress-control-config-fields.adoc[leveloffset=+2]

include::modules/microshift-ingress-controller-create-cert-secret.adoc[leveloffset=+2]

include::modules/microshift-ingress-controller-tls-config.adoc[leveloffset=+2]
Expand Down
309 changes: 309 additions & 0 deletions modules/microshift-ingress-control-config-fields.adoc

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions modules/microshift-ingress-controller-conc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="microshift-ingress-control-concept_{context}"]
= Using ingress control in {microshift-short}

[role="_abstract"]
When you create your {microshift-short} node, each pod and service running on the node is allocated an IP address. These IP addresses are accessible to other pods and services running nearby by default, but are not accessible to external clients. {microshift-short} uses a minimal implementation of the {OCP} `IngressController` API to enable external access to node services.

With more configuration options, you can fine-tune ingress to meet your specific needs. To use enhanced ingress control, update the parameters in the {microshift-short} configuration file and restart the service.
Expand Down
Loading