diff --git a/Makefile b/Makefile index 1702639f08..5824f2686b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ .DEFAULT_GOAL := build -RELEASE_VERSION := $(or ${RELEASE_VERSION},"v0.15.4") +RELEASE_VERSION := $(or ${RELEASE_VERSION},"v0.15.5") ifeq ($(CI),true) DOCKER_TTY_ARG= diff --git a/docs/src/external/metalctl/README.md b/docs/src/external/metalctl/README.md index 4c0d92d710..d4f693b975 100644 --- a/docs/src/external/metalctl/README.md +++ b/docs/src/external/metalctl/README.md @@ -90,6 +90,7 @@ contexts: ``` Optional you can specify `issuer_type: generic` if you use other issuers as Dex, e.g. Keycloak (this will request scopes `openid,profile,email`): + ```bash contexts: prod: @@ -101,6 +102,7 @@ contexts: ``` If you must specify special scopes for your issuer, you can use `custom_scopes`: + ```bash contexts: prod: @@ -119,6 +121,12 @@ Full documentation is generated out of the cobra command implementation with: generated markdown is [here](docs/metalctl.md) and [here](https://docs.metal-stack.io/stable/external/metalctl/README/) +## Development + +For MacOS users, running the tests might throw an error because tests are utilizing [go-mpatch](https://github.com/undefinedlabs/go-mpatch) in order to manipulate the `time.Now` function. The patch allows testing with fixed timestamps. + +Instead, MacOS users can utilize the `make test-in-docker` target to execute the tests. + ## Page Tree ```@contents diff --git a/docs/src/external/metalctl/docs/metalctl_firewall_list.md b/docs/src/external/metalctl/docs/metalctl_firewall_list.md index 4bbc5ffd55..decc843129 100644 --- a/docs/src/external/metalctl/docs/metalctl_firewall_list.md +++ b/docs/src/external/metalctl/docs/metalctl_firewall_list.md @@ -13,7 +13,7 @@ metalctl firewall list [flags] --hostname string allocation hostname to filter [optional] --id string ID to filter [optional] --image string allocation image to filter [optional] - --mac strings mac to filter [optional] + --mac string mac to filter [optional] --name string allocation name to filter [optional] --partition string partition to filter [optional] --project string allocation project to filter [optional] diff --git a/docs/src/external/metalctl/docs/metalctl_machine_ipmi.md b/docs/src/external/metalctl/docs/metalctl_machine_ipmi.md index ec0f285f1d..552027562c 100644 --- a/docs/src/external/metalctl/docs/metalctl_machine_ipmi.md +++ b/docs/src/external/metalctl/docs/metalctl_machine_ipmi.md @@ -15,7 +15,7 @@ Meaning of the emojis: ❓ Machine is in unknown condition. The metal-api does not receive phoned home events anymore or has never booted successfully. ⭕ Machine is in a provisioning crash loop. Flag can be reset through an API-triggered reboot or when the machine reaches the phoned home state. 🚑 Machine reclaim has failed. The machine was deleted but it is not going back into the available machine pool. -🛡️ Machine is connected to our VPN, ssh access only possible via this VPN. +🛡 Machine is connected to our VPN, ssh access only possible via this VPN. ``` @@ -25,16 +25,26 @@ metalctl machine ipmi [] [flags] ## Options ``` + --bmc-address string bmc ipmi address (needs to include port) to filter [optional] + --bmc-mac string bmc mac address to filter [optional] + --board-part-number string fru board part number to filter [optional] -h, --help help for ipmi --hostname string allocation hostname to filter [optional] --id string ID to filter [optional] --image string allocation image to filter [optional] --last-event-error-threshold duration the duration up to how long in the past a machine last event error will be counted as an issue [optional] (default 1h0m0s) --mac string mac to filter [optional] + --manufacturer string fru manufacturer to filter [optional] --name string allocation name to filter [optional] + --network-destination-prefixes string network destination prefixes to filter [optional] + --network-ids string network ids to filter [optional] + --network-ips string network ips to filter [optional] --partition string partition to filter [optional] + --product-part-number string fru product part number to filter [optional] + --product-serial string fru product serial to filter [optional] --project string allocation project to filter [optional] --rack string rack to filter [optional] + --role string allocation role to filter [optional] --size string size to filter [optional] --sort-by strings sort by (comma separated) column(s), sort direction can be changed by appending :asc or :desc behind the column identifier. possible values: age|bios|bmc|event|id|liveliness|partition|project|rack|size|when --state string state to filter [optional] diff --git a/docs/src/external/metalctl/docs/metalctl_machine_issues.md b/docs/src/external/metalctl/docs/metalctl_machine_issues.md index 925603bd2f..4547082016 100644 --- a/docs/src/external/metalctl/docs/metalctl_machine_issues.md +++ b/docs/src/external/metalctl/docs/metalctl_machine_issues.md @@ -15,7 +15,7 @@ Meaning of the emojis: ❓ Machine is in unknown condition. The metal-api does not receive phoned home events anymore or has never booted successfully. ⭕ Machine is in a provisioning crash loop. Flag can be reset through an API-triggered reboot or when the machine reaches the phoned home state. 🚑 Machine reclaim has failed. The machine was deleted but it is not going back into the available machine pool. -🛡️ Machine is connected to our VPN, ssh access only possible via this VPN. +🛡 Machine is connected to our VPN, ssh access only possible via this VPN. ``` @@ -25,18 +25,28 @@ metalctl machine issues [] [flags] ## Options ``` + --bmc-address string bmc ipmi address (needs to include port) to filter [optional] + --bmc-mac string bmc mac address to filter [optional] + --board-part-number string fru board part number to filter [optional] -h, --help help for issues --hostname string allocation hostname to filter [optional] --id string ID to filter [optional] --image string allocation image to filter [optional] - --last-event-error-threshold duration the duration up to how long in the past a machine last event error will be counted as an issue [optional] (default 168h0m0s) + --last-event-error-threshold duration the duration up to how long in the past a machine last event error will be counted as an issue [optional] --mac string mac to filter [optional] + --manufacturer string fru manufacturer to filter [optional] --name string allocation name to filter [optional] + --network-destination-prefixes string network destination prefixes to filter [optional] + --network-ids string network ids to filter [optional] + --network-ips string network ips to filter [optional] --omit strings issue types to omit [optional] --only strings issue types to include [optional] --partition string partition to filter [optional] + --product-part-number string fru product part number to filter [optional] + --product-serial string fru product serial to filter [optional] --project string allocation project to filter [optional] --rack string rack to filter [optional] + --role string allocation role to filter [optional] --severity string issue severity to include [optional] --size string size to filter [optional] --sort-by strings sort by (comma separated) column(s), sort direction can be changed by appending :asc or :desc behind the column identifier. possible values: age|bios|bmc|event|id|liveliness|partition|project|rack|size|when @@ -75,4 +85,5 @@ metalctl machine issues [] [flags] ## SEE ALSO * [metalctl machine](metalctl_machine.md) - manage machine entities +* [metalctl machine issues list](metalctl_machine_issues_list.md) - list all machine issues that the metal-api can evaluate diff --git a/docs/src/external/metalctl/docs/metalctl_machine_issues_list.md b/docs/src/external/metalctl/docs/metalctl_machine_issues_list.md new file mode 100644 index 0000000000..722a13422d --- /dev/null +++ b/docs/src/external/metalctl/docs/metalctl_machine_issues_list.md @@ -0,0 +1,47 @@ +# metalctl machine issues list + +list all machine issues that the metal-api can evaluate + +``` +metalctl machine issues list [flags] +``` + +## Options + +``` + -h, --help help for list + --sort-by strings sort by (comma separated) column(s), sort direction can be changed by appending :asc or :desc behind the column identifier. possible values: id|severity +``` + +## Options inherited from parent commands + +``` + --api-token string api token to authenticate. Can be specified with METALCTL_API_TOKEN environment variable. + --api-url string api server address. Can be specified with METALCTL_API_URL environment variable. + -c, --config string alternative config file path, (default is ~/.metalctl/config.yaml). + Example config.yaml: + + --- + apitoken: "alongtoken" + ... + + + --debug debug output + --force-color force colored output even without tty + --kubeconfig string Path to the kube-config to use for authentication and authorization. Is updated by login. Uses default path if not specified. + --no-headers do not print headers of table output format (default print headers) + -o, --output-format string output format (table|wide|markdown|json|yaml|template), wide is a table with more columns. (default "table") + --template string output template for template output-format, go template format. + For property names inspect the output of -o json or -o yaml for reference. + Example for machines: + + metalctl machine list -o template --template "{{ .id }}:{{ .size.id }}" + + + --yes-i-really-mean-it skips security prompts (which can be dangerous to set blindly because actions can lead to data loss or additional costs) +``` + +## SEE ALSO + +* [metalctl machine issues](metalctl_machine_issues.md) - display machines which are in a potential bad state + diff --git a/docs/src/external/metalctl/docs/metalctl_machine_list.md b/docs/src/external/metalctl/docs/metalctl_machine_list.md index d5afdac161..5d6324ab69 100644 --- a/docs/src/external/metalctl/docs/metalctl_machine_list.md +++ b/docs/src/external/metalctl/docs/metalctl_machine_list.md @@ -15,7 +15,7 @@ Meaning of the emojis: ❓ Machine is in unknown condition. The metal-api does not receive phoned home events anymore or has never booted successfully. ⭕ Machine is in a provisioning crash loop. Flag can be reset through an API-triggered reboot or when the machine reaches the phoned home state. 🚑 Machine reclaim has failed. The machine was deleted but it is not going back into the available machine pool. -🛡️ Machine is connected to our VPN, ssh access only possible via this VPN. +🛡 Machine is connected to our VPN, ssh access only possible via this VPN. ``` @@ -25,16 +25,26 @@ metalctl machine list [flags] ## Options ``` + --bmc-address string bmc ipmi address (needs to include port) to filter [optional] + --bmc-mac string bmc mac address to filter [optional] + --board-part-number string fru board part number to filter [optional] -h, --help help for list --hostname string allocation hostname to filter [optional] --id string ID to filter [optional] --image string allocation image to filter [optional] --last-event-error-threshold duration the duration up to how long in the past a machine last event error will be counted as an issue [optional] (default 1h0m0s) --mac string mac to filter [optional] + --manufacturer string fru manufacturer to filter [optional] --name string allocation name to filter [optional] + --network-destination-prefixes string network destination prefixes to filter [optional] + --network-ids string network ids to filter [optional] + --network-ips string network ips to filter [optional] --partition string partition to filter [optional] + --product-part-number string fru product part number to filter [optional] + --product-serial string fru product serial to filter [optional] --project string allocation project to filter [optional] --rack string rack to filter [optional] + --role string allocation role to filter [optional] --size string size to filter [optional] --sort-by strings sort by (comma separated) column(s), sort direction can be changed by appending :asc or :desc behind the column identifier. possible values: age|event|id|image|liveliness|partition|project|rack|size|when --state string state to filter [optional]