Body: <p>To start, I am new to Kubernetes, so please feel free to point out and correct any terminology I get wrong.</p>
  <p>In a nutshell, I want to be able to run <code>microk8s enable ingress</code> with custom configuration applied, but the only two configuration files I've located are read only (I can't even edit them with root).</p>
  <p>More specifically, I'd like to <a href="https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/" rel="nofollow noreferrer">enable SSL passthrough in the nginx-ingress-controller</a>. I've located two different <code>ingress.yaml</code> manifests in the following locations (both of which appear to be identical after a diff comparison):</p>
  <pre><code>/snap/microk8s/current/actions/ingress.yaml
  /snap/microk8s/current/microk8s-resources/actions/ingress.yaml
  </code></pre>
  <p>The problem is, these two files are read only, which I'm assuming is intentional. I'm guessing something must have generated them during the installation process, but it's not clear to me where they came from. What is the proper way to modify the global, system manifests, such as the one for the ingress controller?</p>
  <p>Site note: Since I wasn't able to modify the original files, I was hoping I could just copy one of the original files and apply it manually with <code>microk8s kubectl apply -f ingress.yaml</code>. To my surprise, I actually got an error when I did so. This confuses me even more (I'm sure I could figure out where the YAML problem is, but it baffles me because it appears one of the two mentioned YAML files is what gets applied when you run the <code>microk8s enable ingress</code> command).</p>
  <pre><code>error: error parsing ingress.yaml: error converting YAML to JSON: yaml: line 52: could not find expected ':'
  </code></pre>
  <p>What is the proper way to modify the parameters (e.g., add the <code>--enable-ssl-passthrough</code> switch) for manifests, like the one for the microk8s ingress controller?</p>
  
Comments: CC BY-SA 4.0
Comments: 2021-03-23T17:14:06.573Z
Comments: So, is this a helm chart you installed? If so, you could grab the helm chart values with `helm get values <release-name>`.
Comments: Zachary Delano
Comments: CC BY-SA 4.0
Comments: 2021-03-23T17:49:25.323Z
Comments: @ZacharyDelano unfortunately it's not and maybe I need to make my question more clear. In a nutshell, what *think* I want to do is run "microk8s enable ingress" and have SSL passthrough enabled. The problem I've run into is those two YAML files are read only and I can't even modify them with root access. I have to assume they must have come down as part of the snap installation process, but it still begs the question of how to go about modifying them for custom configuration.
Comments: senfo
Comments: CC BY-SA 4.0
Comments: 2021-03-23T18:03:04.613Z
Comments: @ZacharyDelano I have updated my question. I hope it's more clear what I'm asking now.
Comments: senfo
Comments: CC BY-SA 4.0
Comments: 2021-03-23T18:40:45.740Z
Comments: Perhaps you could try `kubectl edit ingress/<ingress-name>` and adjust it that way. I'm assuming you're referring to [this section](https://kubernetes.github.io/ingress-nginx/deploy/#microk8s) of the documentation when you say you used microk8s.
Comments: Zachary Delano
Tags: <kubernetes><configuration>
Title: Modifying Microk8s System Manifests
UserDisplayName: senfo
ThreadText: # Modifying Microk8s System Manifests
  
  (Asked by: username_0 on 2021-03-19)
  
  To start, I am new to Kubernetes, so please feel free to point out and correct any terminology I get wrong.
  
  In a nutshell, I want to be able to run `microk8s enable ingress` with custom configuration applied, but the only two configuration files I've located are read only (I can't even edit them with root).
  
  More specifically, I'd like to [enable SSL passthrough in the nginx-ingress-controller](https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/). I've located two different `ingress.yaml` manifests in the following locations (both of which appear to be identical after a diff comparison):
  
  ```
  /snap/microk8s/current/actions/ingress.yaml
  /snap/microk8s/current/microk8s-resources/actions/ingress.yaml
  
  ```
  
  The problem is, these two files are read only, which I'm assuming is intentional. I'm guessing something must have generated them during the installation process, but it's not clear to me where they came from. What is the proper way to modify the global, system manifests, such as the one for the ingress controller?
  
  Site note: Since I wasn't able to modify the original files, I was hoping I could just copy one of the original files and apply it manually with `microk8s kubectl apply -f ingress.yaml`. To my surprise, I actually got an error when I did so. This confuses me even more (I'm sure I could figure out where the YAML problem is, but it baffles me because it appears one of the two mentioned YAML files is what gets applied when you run the `microk8s enable ingress` command).
  
  ```
  error: error parsing ingress.yaml: error converting YAML to JSON: yaml: line 52: could not find expected ':'
  
  ```
  
  What is the proper way to modify the parameters (e.g., add the `--enable-ssl-passthrough` switch) for manifests, like the one for the microk8s ingress controller?
  
  **Tags:** kubernetes, configuration
  
  > **Comments:**
  > **username_1**: So, is this a helm chart you installed? If so, you could grab the helm chart values with `helm get values <release-name>`.  
  > **username_0**: @username_1 unfortunately it's not and maybe I need to make my question more clear. In a nutshell, what *think* I want to do is run "microk8s enable ingress" and have SSL passthrough enabled. The problem I've run into is those two YAML files are read only and I can't even modify them with root access. I have to assume they must have come down as part of the snap installation process, but it still begs the question of how to go about modifying them for custom configuration.  
  > **username_0**: @username_1 I have updated my question. I hope it's more clear what I'm asking now.  
  > **username_1**: Perhaps you could try `kubectl edit ingress/<ingress-name>` and adjust it that way. I'm assuming you're referring to [this section](https://kubernetes.github.io/ingress-nginx/deploy/#microk8s) of the documentation when you say you used microk8s.  
  
  ---
  
  ## 0 answers
  
  