Skip to content

Commit

Permalink
Merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
majst01 committed Oct 21, 2024
2 parents 678c0d9 + 4467243 commit d0028a9
Show file tree
Hide file tree
Showing 25 changed files with 647 additions and 175 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.DEFAULT_GOAL := build
RELEASE_VERSION := $(or ${RELEASE_VERSION},"v0.18.4")
RELEASE_VERSION := $(or ${RELEASE_VERSION},"v0.18.16")

ifeq ($(CI),true)
DOCKER_TTY_ARG=
Expand Down
25 changes: 25 additions & 0 deletions docs/src/development/proposals/MEP14/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Independence from external sources

In certain situations some customers may need to operate and create machines without making use of external services like DNS or NTP through the internet. To make this possible, all metal-stack components reaching external services need to be configurable with custom endpoints.

So far, the following components have been identified as requiring changes:

- pixiecore
- metal-hammer
- metal-images

More components are likely to be added to the list during processing.

## pixiecore

A NTP server endpoint need to be configured on the pixiecore. This can be achieved by providing it through environment variables on start up.

## metal-hammer

If using a self-deployed NTP server, also the metal-hammer need to be configured with it. For backward compatibility, default values from `pool.ntp.org` and `time.google.com` are used.

## metal-images

Configurations for the `metal-images` are different for machines and firewalls.

The implementation of this MEP will make metal-stack possible to create and maintain machines without requiring an internet connection.
1 change: 1 addition & 0 deletions docs/src/development/proposals/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ Once a proposal was accepted, an issue should be raised and the implementation s
| [MEP-11](MEP11/README.md) | Auditing of metal-stack resources | `Completed` |
| [MEP-12](MEP12/README.md) | Rack Spreading | `Completed` |
| [MEP-13](MEP13/README.md) | IPv6 | `In Discussion` |
| [MEP-14](MEP14/README.md) | Independence from external sources | `In Discussion` |
2 changes: 1 addition & 1 deletion docs/src/external/csi-driver-lvm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ For the special case of block volumes, the filesystem-expansion has to be perfor
You have to set the devicePattern for your hardware to specify which disks should be used to create the volume group.

```bash
helm install --repo https://helm.metal-stack.io mytest helm/csi-driver-lvm --set lvm.devicePattern='/dev/nvme[0-9]n[0-9]'
helm install --repo https://helm.metal-stack.io mytest csi-driver-lvm --set lvm.devicePattern='/dev/nvme[0-9]n[0-9]'
```

Now you can use one of following storageClasses:
Expand Down
6 changes: 3 additions & 3 deletions docs/src/external/metalctl/docs/metalctl_machine_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
updates the machine

```
metalctl machine update [flags]
metalctl machine update <id> [flags]
```

## Options
Expand All @@ -18,9 +18,9 @@ metalctl machine update [flags]
$ metalctl machine describe machine-1 -o yaml > machine.yaml
$ vi machine.yaml
$ # either via stdin
$ cat machine.yaml | metalctl machine update -f -
$ cat machine.yaml | metalctl machine update <id> -f -
$ # or via file
$ metalctl machine update -f machine.yaml
$ metalctl machine update <id> -f machine.yaml
the file can also contain multiple documents and perform a bulk operation.
Expand Down
59 changes: 30 additions & 29 deletions docs/src/external/metalctl/docs/metalctl_network_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,36 @@ metalctl network create [flags]
## Options

```
--bulk-output when used with --file (bulk operation): prints results at the end as a list. default is printing results intermediately during the operation, which causes single entities to be printed in a row.
-d, --description string description of the network to create. [optional]
--destination-prefixes strings destination prefixes in this network.
-f, --file string filename of the create or update request in yaml format, or - for stdin.
Example:
$ metalctl network describe network-1 -o yaml > network.yaml
$ vi network.yaml
$ # either via stdin
$ cat network.yaml | metalctl network create -f -
$ # or via file
$ metalctl network create -f network.yaml
the file can also contain multiple documents and perform a bulk operation.
-h, --help help for create
--id string id of the network to create. [optional]
--labels strings add initial labels, must be in the form of key=value, use it like: --labels "key1=value1,key2=value2".
-n, --name string name of the network to create. [optional]
--nat set nat flag of network, if set to true, traffic from this network will be natted.
-p, --partition string partition where this network should exist.
--prefixes strings prefixes in this network.
--privatesuper set private super flag of network, if set to true, this network is used to start machines there.
--project string project of the network to create. [optional]
--skip-security-prompts skips security prompt for bulk operations
--timestamps when used with --file (bulk operation): prints timestamps in-between the operations
--underlay set underlay flag of network, if set to true, this is used to transport underlay network traffic
--vrf int vrf of this network
--vrfshared vrf shared allows multiple networks to share a vrf
--additional-announcable-cidrs strings list of cidrs which are added to the route maps per tenant private network, these are typically pod- and service cidrs, can only be set in a supernetwork
--bulk-output when used with --file (bulk operation): prints results at the end as a list. default is printing results intermediately during the operation, which causes single entities to be printed in a row.
-d, --description string description of the network to create. [optional]
--destination-prefixes strings destination prefixes in this network.
-f, --file string filename of the create or update request in yaml format, or - for stdin.
Example:
$ metalctl network describe network-1 -o yaml > network.yaml
$ vi network.yaml
$ # either via stdin
$ cat network.yaml | metalctl network create -f -
$ # or via file
$ metalctl network create -f network.yaml
the file can also contain multiple documents and perform a bulk operation.
-h, --help help for create
--id string id of the network to create. [optional]
--labels strings add initial labels, must be in the form of key=value, use it like: --labels "key1=value1,key2=value2".
-n, --name string name of the network to create. [optional]
--nat set nat flag of network, if set to true, traffic from this network will be natted.
-p, --partition string partition where this network should exist.
--prefixes strings prefixes in this network.
--privatesuper set private super flag of network, if set to true, this network is used to start machines there.
--project string project of the network to create. [optional]
--skip-security-prompts skips security prompt for bulk operations
--timestamps when used with --file (bulk operation): prints timestamps in-between the operations
--underlay set underlay flag of network, if set to true, this is used to transport underlay network traffic
--vrf int vrf of this network
--vrfshared vrf shared allows multiple networks to share a vrf
```

## Options inherited from parent commands
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ metalctl network ip list [flags]
--network string network to filter [optional]
--prefix string prefix to filter [optional]
--project string project 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: description|id|ipaddress|name|network|type
--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|description|id|ipaddress|name|network|type
--tags strings tags to filter [optional]
--type string type to filter [optional]
```
Expand Down
51 changes: 26 additions & 25 deletions docs/src/external/metalctl/docs/metalctl_network_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,37 @@
updates the network

```
metalctl network update [flags]
metalctl network update <id> [flags]
```

## Options

```
--add-destinationprefixes strings destination prefixes to be added to the network [optional]
--add-prefixes strings prefixes to be added to the network [optional]
--bulk-output when used with --file (bulk operation): prints results at the end as a list. default is printing results intermediately during the operation, which causes single entities to be printed in a row.
--description string the description of the network [optional]
-f, --file string filename of the create or update request in yaml format, or - for stdin.
Example:
$ metalctl network describe network-1 -o yaml > network.yaml
$ vi network.yaml
$ # either via stdin
$ cat network.yaml | metalctl network update -f -
$ # or via file
$ metalctl network update -f network.yaml
the file can also contain multiple documents and perform a bulk operation.
-h, --help help for update
--labels strings the labels of the network, must be in the form of key=value, use it like: --labels "key1=value1,key2=value2". [optional]
--name string the name of the network [optional]
--remove-destinationprefixes strings destination prefixes to be removed from the network [optional]
--remove-prefixes strings prefixes to be removed from the network [optional]
--shared marks a network as shared or not [optional]
--skip-security-prompts skips security prompt for bulk operations
--timestamps when used with --file (bulk operation): prints timestamps in-between the operations
--add-destinationprefixes strings destination prefixes to be added to the network [optional]
--add-prefixes strings prefixes to be added to the network [optional]
--additional-announcable-cidrs strings list of cidrs which are added to the route maps per tenant private network, these are typically pod- and service cidrs, can only be set in a supernetwork
--bulk-output when used with --file (bulk operation): prints results at the end as a list. default is printing results intermediately during the operation, which causes single entities to be printed in a row.
--description string the description of the network [optional]
-f, --file string filename of the create or update request in yaml format, or - for stdin.
Example:
$ metalctl network describe network-1 -o yaml > network.yaml
$ vi network.yaml
$ # either via stdin
$ cat network.yaml | metalctl network update <id> -f -
$ # or via file
$ metalctl network update <id> -f network.yaml
the file can also contain multiple documents and perform a bulk operation.
-h, --help help for update
--labels strings the labels of the network, must be in the form of key=value, use it like: --labels "key1=value1,key2=value2". [optional]
--name string the name of the network [optional]
--remove-destinationprefixes strings destination prefixes to be removed from the network [optional]
--remove-prefixes strings prefixes to be removed from the network [optional]
--shared marks a network as shared or not [optional]
--skip-security-prompts skips security prompt for bulk operations
--timestamps when used with --file (bulk operation): prints timestamps in-between the operations
```

## Options inherited from parent commands
Expand Down
2 changes: 1 addition & 1 deletion docs/src/external/metalctl/docs/metalctl_size.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ a size matches a machine in terms of cpu cores, ram and storage.
* [metalctl size edit](metalctl_size_edit.md) - edit the size through an editor and update
* [metalctl size imageconstraint](metalctl_size_imageconstraint.md) - manage imageconstraint entities
* [metalctl size list](metalctl_size_list.md) - list all sizes
* [metalctl size reservations](metalctl_size_reservations.md) - manage size reservations
* [metalctl size reservation](metalctl_size_reservation.md) - manage reservation entities
* [metalctl size suggest](metalctl_size_suggest.md) - suggest size from a given machine id
* [metalctl size update](metalctl_size_update.md) - updates the size

54 changes: 54 additions & 0 deletions docs/src/external/metalctl/docs/metalctl_size_reservation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# metalctl size reservation

manage reservation entities

## Synopsis

manage size reservations

## Options

```
-h, --help help for reservation
```

## 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 size](metalctl_size.md) - manage size entities
* [metalctl size reservation apply](metalctl_size_reservation_apply.md) - applies one or more reservations from a given file
* [metalctl size reservation create](metalctl_size_reservation_create.md) - creates the reservation
* [metalctl size reservation delete](metalctl_size_reservation_delete.md) - deletes the reservation
* [metalctl size reservation describe](metalctl_size_reservation_describe.md) - describes the reservation
* [metalctl size reservation edit](metalctl_size_reservation_edit.md) - edit the reservation through an editor and update
* [metalctl size reservation list](metalctl_size_reservation_list.md) - list all reservations
* [metalctl size reservation update](metalctl_size_reservation_update.md) - updates the reservation
* [metalctl size reservation usage](metalctl_size_reservation_usage.md) - see current usage of size reservations

Loading

0 comments on commit d0028a9

Please sign in to comment.