-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework VirtualMachine, introduce cloudinit and sshKeys configuration, fix externalPorts #303
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
{{- if .Values.sshKeys }} | ||
--- | ||
apiVersion: v1 | ||
kind: Secret | ||
metadata: | ||
name: {{ include "virtual-machine.fullname" $ }}-ssh-keys | ||
stringData: | ||
{{- range $k, $v := .Values.sshKeys }} | ||
key{{ $k }}: {{ quote $v }} | ||
{{- end }} | ||
{{- end }} | ||
{{- if .Values.cloudInit }} | ||
--- | ||
apiVersion: v1 | ||
kind: Secret | ||
metadata: | ||
name: {{ include "virtual-machine.fullname" . }}-cloud-init | ||
stringData: | ||
userdata: | | ||
{{- .Values.cloudInit | nindent 4 }} | ||
{{- end }} |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -7,6 +7,14 @@ | |||||||||||||||||||||||||||||||||
"description": "Enable external access from outside the cluster", | ||||||||||||||||||||||||||||||||||
"default": false | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"externalPorts": { | ||||||||||||||||||||||||||||||||||
"type": "array", | ||||||||||||||||||||||||||||||||||
"description": "Specify ports to forward from outside the cluster", | ||||||||||||||||||||||||||||||||||
"default": "[]", | ||||||||||||||||||||||||||||||||||
"items": { | ||||||||||||||||||||||||||||||||||
"type": "string" | ||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
Comment on lines
+10
to
+17
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Addition of The new Change the default value from - "default": "[]",
+ "default": [], Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||
"running": { | ||||||||||||||||||||||||||||||||||
"type": "boolean", | ||||||||||||||||||||||||||||||||||
"description": "Determines if the virtual machine should be running", | ||||||||||||||||||||||||||||||||||
|
@@ -49,36 +57,18 @@ | |||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"sshPwauth": { | ||||||||||||||||||||||||||||||||||
"type": "boolean", | ||||||||||||||||||||||||||||||||||
"description": "Enable password authentication for SSH. If set to `true`, users can log in using a password", | ||||||||||||||||||||||||||||||||||
"default": true | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"disableRoot": { | ||||||||||||||||||||||||||||||||||
"type": "boolean", | ||||||||||||||||||||||||||||||||||
"description": "Disable root login via SSH. If set to `true`, root login will be disabled", | ||||||||||||||||||||||||||||||||||
"default": true | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"password": { | ||||||||||||||||||||||||||||||||||
"type": "string", | ||||||||||||||||||||||||||||||||||
"description": "The default password for the virtual machine", | ||||||||||||||||||||||||||||||||||
"default": "hackme" | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"chpasswdExpire": { | ||||||||||||||||||||||||||||||||||
"type": "boolean", | ||||||||||||||||||||||||||||||||||
"description": "Set whether the password should expire", | ||||||||||||||||||||||||||||||||||
"default": false | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"sshKeys": { | ||||||||||||||||||||||||||||||||||
"type": "array", | ||||||||||||||||||||||||||||||||||
"description": "List of SSH public keys for authentication. Can be a single key or a list of keys", | ||||||||||||||||||||||||||||||||||
"default": [ | ||||||||||||||||||||||||||||||||||
"ssh-rsa ...", | ||||||||||||||||||||||||||||||||||
"ssh-ed25519 ..." | ||||||||||||||||||||||||||||||||||
], | ||||||||||||||||||||||||||||||||||
"description": "List of SSH public keys for authentication. Can be a single key or a list of keys.", | ||||||||||||||||||||||||||||||||||
"default": "[]", | ||||||||||||||||||||||||||||||||||
"items": { | ||||||||||||||||||||||||||||||||||
"type": "string" | ||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||
"cloudInit": { | ||||||||||||||||||||||||||||||||||
"type": "string", | ||||||||||||||||||||||||||||||||||
"description": "cloud-init user data config. See cloud-init documentation for more details.", | ||||||||||||||||||||||||||||||||||
"default": "#cloud-config\n" | ||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,43 @@ | ||
## @section Common parameters | ||
|
||
## @param external Enable external access from outside the cluster | ||
## @param externalPorts [array] Specify ports to forward from outside the cluster | ||
## @param running Determines if the virtual machine should be running | ||
## @param image The base image for the virtual machine. Allowed values: `ubuntu`, `cirros`, `alpine` and `fedora` | ||
## @param storageClass StorageClass used to store the data | ||
## @param resources.cpu The number of CPU cores allocated to the virtual machine | ||
## @param resources.memory The amount of memory allocated to the virtual machine | ||
## @param resources.disk The size of the disk allocated for the virtual machine | ||
## @param sshPwauth Enable password authentication for SSH. If set to `true`, users can log in using a password | ||
## @param disableRoot Disable root login via SSH. If set to `true`, root login will be disabled | ||
## @param password The default password for the virtual machine | ||
## @param chpasswdExpire Set whether the password should expire | ||
## @param sshKeys List of SSH public keys for authentication. Can be a single key or a list of keys | ||
|
||
external: false | ||
externalPorts: | ||
- 22 | ||
|
||
running: true | ||
image: ubuntu | ||
storageClass: replicated | ||
resources: | ||
cpu: 1 | ||
memory: 1024M | ||
disk: 5Gi | ||
sshPwauth: true | ||
disableRoot: true | ||
password: hackme | ||
chpasswdExpire: false | ||
sshKeys: | ||
- ssh-rsa ... | ||
- ssh-ed25519 ... | ||
|
||
## @param sshKeys [array] List of SSH public keys for authentication. Can be a single key or a list of keys. | ||
## Example: | ||
## sshKeys: | ||
## - ssh-rsa ... | ||
## - ssh-ed25519 ... | ||
## | ||
sshKeys: [] | ||
|
||
## @param cloudInit cloud-init user data config. See cloud-init documentation for more details. | ||
## - https://cloudinit.readthedocs.io/en/latest/explanation/format.html | ||
## - https://cloudinit.readthedocs.io/en/latest/reference/examples.html | ||
## Example: | ||
## cloudInit: | | ||
## #cloud-config | ||
## password: ubuntu | ||
## chpasswd: { expire: False } | ||
## | ||
cloudInit: | | ||
#cloud-config | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper Helm syntax and address yamllint errors.
The Helm syntax error flagged by yamllint on line 1 might be a false positive, as the Helm templating syntax often conflicts with standard YAML linters. However, the trailing spaces on line 9 should be removed to adhere to best practices.
To address the yamllint errors, consider the following changes:
Additionally, ensure that the Helm syntax is correctly interpreted in your CI/CD pipeline by using a Helm-specific linter or testing the template deployment.
Committable suggestion
Tools
yamllint