Environment
Asset
Provider
Host
Uses
Influences
Informational
"Semantic"
"Physical"
Clone or download template. Downloaded tarball/zip contains a working directory with .git/:
{{template_name}}/
.git/...
metadata.yml
properties.yml
actions.yml
composition.yml
transforms.yml
compliance.yml
testing.yml
states.yml
definition/ -- (chef) stuffEquivalent of running `mintpress-cli init-template`.
Edit config
- <<: *instances
- key: os_release
label: RHEL release
default: 7.0
build_property: true
attribute:
type: number
min: 5
max: 7
step: 0.1
required: true# git add properties.yml
# git commit -m 'Add os_release prop.'
# git tag v1.2 # optional -m
# git push
> Changes verified.
> OSI template v1.2 now available in non-production environments.
Access https://mintpress.../templates/osi to alter this template's availability.
> 4 assets could be updated to this release.
Run `./mintpress-cli apply osi:v1.2 all --canary [--no-confirm]` to apply this
version to all available instances.# git clone https://.../osi.git && cd osi
# vim properties.yml# Override a common property scaleout with a default value of 3 (instead of the usual value)
- <<: *scaleout
overrides:
input:
- key: *scaleout_count_key
default: 3
- key: path_prefix
label: Install path prefix
type: javascript
target: !!js/function |-
function getInstallationList(json) {
return json.installationList
}
implementation: !!js/function |-
function setName(inJson) {
var prefix = input['prefix'].endsWith('/') ? inputs['prefix'] : (inputs['prefix'] + '/')
for(var inst in inJson) {
inst.installPath = prefix + inst.installPath
}
}
input:
- key: prefix
label: Prefix
default: ''
attribute:
type: string
maxlength: 10
required: true
# git ...# git clone https://.../osi.git && cd osi
# vim transforms.ymlfunction getMulti(json) {
// builtin functions:
// - walk: traverse every node
// - onMatch: indicate match to process
walk(json, function(n) {
if(new RegExp('x', 'i').test(n.name)) {
onMatch(n)
}
})
}{
"name": "x",
"product": "x"
"installPath": "/opt"
}
---
{
"name": "x",
"product": "y",
"installPath": "/var"
}{
"toInstall": [
{
"name": "x",
"product": "x"
"installPath": "/opt"
},
{
"name": "x",
"product": "y",
"installPath": "/var"
}
]function setMulti(json) {
json.name = json.name.toUpperCase()
}{
"name": "X",
"product": "x"
"installPath": "/opt"
}
---
{
"name": "X",
"product": "y",
"installPath": "/var"
}{
"name": "x",
"product": "x"
"installPath": "/opt"
}
---
{
"name": "x",
"product": "y",
"installPath": "/var"
}
Clone or download template. Downloaded tarball/zip contains a working directory with .git/:
{{template_name}}/
.git/...
metadata.yml
properties.yml
actions.yml
composition.yml
transforms.yml
compliance.yml
testing.yml
states.yml
definition/ -- (chef) stuffEquivalent of running `mintpress-cli init`.
Home >> Provider: Prod >> awsosi1
./mintpress-cli
console
create-asset-template
add-{transform,property,action,transform,compliance}
remove-{transform,property,action,transform,compliance}
build-transform
update-version
create-action-definition
create-drift-report-definition
create-provider-definition
add-asset
do-asset
do-asset-hosts
apply