Skip to content

Commit

Permalink
config: add ShouldExist to schema
Browse files Browse the repository at this point in the history
This variable is added to indicate if we want to delete the existing
users/groups
  • Loading branch information
sohankunkerkar committed Jul 14, 2020
1 parent 6752b16 commit 0178899
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
6 changes: 6 additions & 0 deletions config/v3_2_experimental/schema/ignition.json
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,9 @@
},
"shell": {
"type": ["string", "null"]
},
"shouldExist": {
"type": ["boolean", "null"]
}
},
"required": [
Expand All @@ -597,6 +600,9 @@
},
"system": {
"type": ["boolean", "null"]
},
"shouldExist": {
"type": ["boolean", "null"]
}
},
"required": [
Expand Down
29 changes: 29 additions & 0 deletions config/v3_2_experimental/translate/translate.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,39 @@ func translateStorage(old old_types.Storage) (ret types.Storage) {
return
}

func translatePasswdUser(old old_types.PasswdUser) (ret types.PasswdUser) {
tr := translate.NewTranslator()
tr.Translate(&old.Gecos, &ret.Gecos)
tr.Translate(&old.Groups, &ret.Groups)
tr.Translate(&old.HomeDir, &ret.HomeDir)
tr.Translate(&old.Name, &ret.Name)
tr.Translate(&old.NoCreateHome, &ret.NoCreateHome)
tr.Translate(&old.NoLogInit, &ret.NoLogInit)
tr.Translate(&old.NoUserGroup, &ret.NoUserGroup)
tr.Translate(&old.PasswordHash, &ret.PasswordHash)
tr.Translate(&old.PrimaryGroup, &ret.PrimaryGroup)
tr.Translate(&old.SSHAuthorizedKeys, &ret.SSHAuthorizedKeys)
tr.Translate(&old.Shell, &ret.Shell)
tr.Translate(&old.System, &ret.System)
tr.Translate(&old.UID, &ret.UID)
return
}

func translatePasswdGroup(old old_types.PasswdGroup) (ret types.PasswdGroup) {
tr := translate.NewTranslator()
tr.Translate(&old.Gid, &ret.Gid)
tr.Translate(&old.Name, &ret.Name)
tr.Translate(&old.PasswordHash, &ret.PasswordHash)
tr.Translate(&old.System, &ret.System)
return
}

func Translate(old old_types.Config) (ret types.Config) {
tr := translate.NewTranslator()
tr.AddCustomTranslator(translateIgnition)
tr.AddCustomTranslator(translateStorage)
tr.AddCustomTranslator(translatePasswdUser)
tr.AddCustomTranslator(translatePasswdGroup)
tr.Translate(&old, &ret)
return
}
2 changes: 2 additions & 0 deletions config/v3_2_experimental/types/schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ type PasswdGroup struct {
Gid *int `json:"gid,omitempty"`
Name string `json:"name"`
PasswordHash *string `json:"passwordHash,omitempty"`
ShouldExist *bool `json:"shouldExist,omitempty"`
System *bool `json:"system,omitempty"`
}

Expand All @@ -160,6 +161,7 @@ type PasswdUser struct {
PasswordHash *string `json:"passwordHash,omitempty"`
PrimaryGroup *string `json:"primaryGroup,omitempty"`
SSHAuthorizedKeys []SSHAuthorizedKey `json:"sshAuthorizedKeys,omitempty"`
ShouldExist *bool `json:"shouldExist,omitempty"`
Shell *string `json:"shell,omitempty"`
System *bool `json:"system,omitempty"`
UID *int `json:"uid,omitempty"`
Expand Down

0 comments on commit 0178899

Please sign in to comment.