1
0
mirror of https://github.com/coreos/ignition.git synced 2026-02-06 18:47:54 +01:00
Commit Graph

28 Commits

Author SHA1 Message Date
Madhu Pillai
c6c52924cf *: update to v3_6_experimental spec 2024-10-14 15:33:52 +02:00
Benjamin Gilbert
01c869650d platform: allow provider fetch to save files to write from files stage
The Hyper-V provider will need to write out state for hv_kvp_daemon.
Add a way for provider fetch functions to return []types.File which
will be saved in State and written out during files stage.  Also add a
utility function a provider can use to create a types.File.

Since this functionality should not be used by most providers, avoid
adding an extra argument or return value to every fetch function.  Instead,
define an alternative fetch function that will be used if declared in
the registration.
2023-04-11 08:28:19 -04:00
Benjamin Gilbert
b5ee217aaa platform: drop function pointer indirection for fetch method
We no longer need to provide direct access to the fetch function pointer.
2023-03-29 14:55:05 -04:00
Benjamin Gilbert
0ea0657309 providers: add Config wrapper structs for cmdline and system providers
The cmdline and system providers shouldn't be registered with the registry
because we don't want to allow looking them up by name; they're
special-cased in Engine.  However, we can still provide Config wrapper
structs for them to simplify their use in Engine.
2023-03-29 14:55:05 -04:00
Benjamin Gilbert
247713b73a internal: empty out providers base package
Most of the type definitions serve no purpose, and the rest of the contents
can be moved into the platforms package.
2023-03-29 14:55:05 -04:00
Benjamin Gilbert
2ab78e12f5 internal: move provider registrations out of platforms package
Move provider registrations next to the code that implements the provider,
as we do with stages.  This allows us to make the provider functions
private and only expose them through the registration.

To do this, we need to make the fields of the registration struct public,
which could allow the rest of Ignition to call directly through the
function pointers.  To avoid this, we wrap the registration struct when
exposing it to the rest of Ignition, ensuring that accessors are used.
2023-03-29 14:54:26 -04:00
Benjamin Gilbert
4ad83687e0 platform: avoid needless function pointer indirection in methods
The platform Config.NewFetcherFunc() and Config.InitFunc() wrappers are
unnecessarily zero-argument accessors that return a function pointer.
Have them call the underlying function directly, like the newer methods.

Note that Config.FetchFunc() still needs to return a function pointer.
2023-03-27 20:47:44 -04:00
Benjamin Gilbert
6329b67b21 providers/virtualbox: support deleting Ignition configs
Delete config and config-encoding guest properties.
2022-05-03 08:24:46 -04:00
Benjamin Gilbert
50138c42f1 providers/vmware: support deleting Ignition configs
Configs might be in guestinfo properties or OVF metadata.  Remove any
config in the OVF metadata, and replace any config in guestinfo (since
we can't delete properties entirely).
2022-05-03 08:24:46 -04:00
Benjamin Gilbert
e82aed09ef main: add ignition-rmcfg multicall binary
For now, deleting Ignition configs from the provider will be handled by
a separate program running in the real root.  That allows a config with
any spec version to disable the deletion by masking the unit.
2022-04-29 03:33:57 -04:00
Roman Mohr
ce2acaee7b Add kubevirt platform ID
The KubeVirt platform provides config drive files compatible to the
openstack config drive like nutanix does. It provides a disk with a
`config-2` label (lower case).

Signed-off-by: Roman Mohr <rmohr@redhat.com>
2022-03-28 20:21:27 +02:00
Sohan Kunkerkar
1f710f7156 providers/nutanix: add Nutanix platform
Add Nutanix AHV platform support(https://github.com/coreos/fedora-coreos-tracker/issues/1007)
which is similar to Openstack.
2021-11-23 16:18:29 -05:00
Prashanth Sundararaman
31cce4a7f4 platform: add powervs platform
Add powervs platform support (https://github.com/coreos/fedora-coreos-tracker/issues/817). PowerVS is based on the IBMcloud vpc gen 1 which is similar to openstack.
2021-06-10 15:59:23 -04:00
Stephen Lowrie
198dc9e74a internal: fix S3 region detection
Fetch the S3RegionHint on all stages rather than just after fetching the
config. Doing this allows for authenticated fetches to work when running
in any partition (when fetching objects from S3 in the same partition).
2020-09-11 10:18:08 -05:00
Ben Howard
e32b23df37 AzureStack: add new target platform
AzureStack is *like* but no quite the same as Azure. Rather than
conflating the two together, we should split them up.

Changes:
- azure.FetchConfig is a wrapper around FetchFromOvfDevice which takes
  the an additional parameter of allowable filesystem types
- azurestack.FetchConfig calls azure.FetchFromOvfDevice with both UDF
  and iso9660 filesystems
- azurestack is now a distinct platform target for ignition

These changes should give us run-way in case _other_ platform
differences are found, while minimizing copy/paste code duplication.

Signed-off-by: Ben Howard <ben.howard@redhat.com>
2020-06-30 10:55:09 -06:00
Luca BRUNO
e5ef76da1a platform: sort providers
This sorts the list of providers by platform ID.
2020-02-25 11:10:33 +00:00
Pierre-Emmanuel Jacquier
76b9791ff9 Add Exoscale provider
Signed-off-by: Pierre-Emmanuel Jacquier <15922119+pierre-emmanuelJ@users.noreply.github.com>
2020-02-19 09:33:14 +00:00
Dalton Hubble
b962250262 providers/vultr: Add Vultr provider
* Add Vultr as a provider, user-data can be an Ignition config
* Metadata endpoint is http://169.254.169.254/user-data/user-data
2020-01-28 00:59:57 -08:00
Andrew Jeddeloh
cc878276d5 providers: add ibmcloud
Add ibmcloud support. Right now this only supports vpc gen 2, but leaves
in place the mechanisms to add classic/gen 1 support which look like
openstack.
2019-11-06 15:17:38 -08:00
XiaoMeiZheng
7162d3c6a1 providers: add initial zVM hypervisor support 2019-10-28 08:23:30 +00:00
Steve Milner
19d0d6caa7 providers/aliyun: Add aliyun
See:
- https://www.alibabacloud.com/help/doc-detail/49122.htm
- https://github.com/coreos/ignition/issues/589

Signed-off-by: Steve Milner <smilner@redhat.com>
2019-10-09 14:49:29 -04:00
Stephen Lowrie
bb6182a393 *: bump import path
Bumps the import path to be `github.com/coreos/ignition/v2`, this is
required to be able to import the v2 of Ignition alongside v0 in other
repositories.
2019-04-09 12:40:08 -05:00
Benjamin Gilbert
4f1a372bde Merge pull request #789 from bgilbert/pxe
platform: drop "pxe"
2019-04-09 12:21:41 -04:00
Benjamin Gilbert
aeae4bbba4 platform: drop "pxe"
PXE is a boot mechanism, not a platform; for example, VMware instances
can be PXE-booted.  We now have a "metal" platform ID which behaves the
same as PXE (i.e., it's a no-op) and should be used in the common case.
2019-04-08 21:39:31 -04:00
Benjamin Gilbert
670188a6fc platform: drop compat alias for "ec2" platform ID 2019-03-29 14:28:05 -04:00
Benjamin Gilbert
730338e512 *: rename ec2 -> aws and gce -> gcp
Consistently use the name of the cloud platform rather than of its
compute service.

Temporarily accept "ec2" as a compatibility alias for "aws" to ease
migration.

Not for backport to spec2x.
2019-03-20 18:14:31 -04:00
Andrew Jeddeloh
a060f2a867 oem: add metal oem
Add oem for use by bare metal. It does nothing. This allows setting the
oem-id to "metal" for other projects and having Ignition not fail.
2019-02-25 15:05:47 -08:00
Stephen Lowrie
3de6446d44 *: drop OEM terminology
Switches from using the OEM terminology (a remnant of ChromiumOS) to
platform.

Fixes #684
2019-02-25 14:08:42 -06:00