Skip to content

Commit

Permalink
Merge pull request #568 from yasminvalim/stabilise-openshift
Browse files Browse the repository at this point in the history
Stabilise openshift 4.18 on Ignition 3.4.0 spec
  • Loading branch information
yasminvalim authored Dec 3, 2024
2 parents c6bae08 + e78a040 commit f1eabb5
Show file tree
Hide file tree
Showing 20 changed files with 1,421 additions and 33 deletions.
10 changes: 6 additions & 4 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ import (
openshift4_14 "github.com/coreos/butane/config/openshift/v4_14"
openshift4_15 "github.com/coreos/butane/config/openshift/v4_15"
openshift4_16 "github.com/coreos/butane/config/openshift/v4_16"
openshift4_17_exp "github.com/coreos/butane/config/openshift/v4_17"
openshift4_18_exp "github.com/coreos/butane/config/openshift/v4_18_exp"
openshift4_17 "github.com/coreos/butane/config/openshift/v4_17"
openshift4_18 "github.com/coreos/butane/config/openshift/v4_18"
openshift4_19_exp "github.com/coreos/butane/config/openshift/v4_19_exp"
openshift4_8 "github.com/coreos/butane/config/openshift/v4_8"
openshift4_9 "github.com/coreos/butane/config/openshift/v4_9"
r4e1_0 "github.com/coreos/butane/config/r4e/v1_0"
Expand Down Expand Up @@ -82,8 +83,9 @@ func init() {
RegisterTranslator("openshift", "4.14.0", openshift4_14.ToConfigBytes)
RegisterTranslator("openshift", "4.15.0", openshift4_15.ToConfigBytes)
RegisterTranslator("openshift", "4.16.0", openshift4_16.ToConfigBytes)
RegisterTranslator("openshift", "4.17.0", openshift4_17_exp.ToConfigBytes)
RegisterTranslator("openshift", "4.18.0-experimental", openshift4_18_exp.ToConfigBytes)
RegisterTranslator("openshift", "4.17.0", openshift4_17.ToConfigBytes)
RegisterTranslator("openshift", "4.18.0", openshift4_18.ToConfigBytes)
RegisterTranslator("openshift", "4.19.0-experimental", openshift4_19_exp.ToConfigBytes)
RegisterTranslator("r4e", "1.0.0", r4e1_0.ToIgn3_3Bytes)
RegisterTranslator("r4e", "1.1.0", r4e1_1.ToIgn3_4Bytes)
RegisterTranslator("r4e", "1.2.0-experimental", r4e1_2_exp.ToIgn3_6Bytes)
Expand Down
48 changes: 48 additions & 0 deletions config/openshift/v4_18/result/schema.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright 2021 Red Hat, Inc
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.)

package result

import (
"github.com/coreos/ignition/v2/config/v3_4/types"
)

const (
MC_API_VERSION = "machineconfiguration.openshift.io/v1"
MC_KIND = "MachineConfig"
)

// We round-trip through JSON because Ignition uses `json` struct tags,
// so all struct tags need to be `json` even though we're ultimately
// writing YAML.

type MachineConfig struct {
ApiVersion string `json:"apiVersion"`
Kind string `json:"kind"`
Metadata Metadata `json:"metadata"`
Spec Spec `json:"spec"`
}

type Metadata struct {
Name string `json:"name"`
Labels map[string]string `json:"labels,omitempty"`
}

type Spec struct {
Config types.Config `json:"config"`
KernelArguments []string `json:"kernelArguments,omitempty"`
Extensions []string `json:"extensions,omitempty"`
FIPS *bool `json:"fips,omitempty"`
KernelType *string `json:"kernelType,omitempty"`
}
39 changes: 39 additions & 0 deletions config/openshift/v4_18/schema.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright 2020 Red Hat, Inc
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.)

package v4_18

import (
fcos "github.com/coreos/butane/config/fcos/v1_5"
)

const ROLE_LABEL_KEY = "machineconfiguration.openshift.io/role"

type Config struct {
fcos.Config `yaml:",inline"`
Metadata Metadata `yaml:"metadata"`
OpenShift OpenShift `yaml:"openshift"`
}

type Metadata struct {
Name string `yaml:"name"`
Labels map[string]string `yaml:"labels,omitempty"`
}

type OpenShift struct {
KernelArguments []string `yaml:"kernel_arguments"`
Extensions []string `yaml:"extensions"`
FIPS *bool `yaml:"fips"`
KernelType *string `yaml:"kernel_type"`
}
Loading

0 comments on commit f1eabb5

Please sign in to comment.