This repository has been archived on 2022-06-19. You can view files and clone it, but cannot push or open issues or pull requests.
ContainerImage.WendyUI/Lowdefy/deploy.yaml

229 lines
8.0 KiB
YAML

id: deploy
type: PageHeaderMenu
properties:
title: Deploy
layout:
contentJustify: center
areas:
content:
blocks:
- id: content
type: Card
layout:
size: 1000
contentGutter: 10
blocks:
- id: title
type: Title
layout:
span: 24
properties:
content: Deploy
- id: leftcolumn
type: Box
layout:
span: 12
contentGutter: 10
blocks:
- id: macaddress
required: true
type: TextInput
properties:
title: MAC Address
placeholder: 00:00:00:00:00:00
validate:
- status: error
message: Enter a valid MAC address
pass:
_regex: ^(?!(?:00[:-]){5}00)((?:[0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2})$
- id: projectname
type: TextInput
properties:
title: Project name
- id: hostname
required: true
type: TextInput
properties:
title: Hostname
label:
extra: Can only contain alphanumeric characters and hyphens; must be between 1 and 15 characters long
extraStyle:
font-size: smaller
font-style: italic
validate:
- status: error
message: Enter a valid hostname
pass:
_regex: ^([a-zA-Z0-9]{1,15}|[a-zA-Z0-9][a-zA-Z0-9\-]{0,13}[a-zA-Z0-9])$
- id: ipaddress
required: true
type: TextInput
properties:
title: IP address
placeholder: 0.0.0.0
validate:
- status: error
message: Enter a valid IP address
pass:
_regex: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
- id: subnetmask
required: true
type: TextInput
properties:
title: Subnet mask
placeholder: 255.255.255.0
validate:
- status: error
message: Enter a valid subnet mask
pass:
_regex: ^(?:(255|254|252|248|240|224|192|128|0+)(?:\.(?!$)|$)){4}$
- id: gateway
required: true
type: TextInput
properties:
title: Gateway
placeholder: 0.0.0.0
validate:
- status: error
message: Enter a valid IP address
pass:
_regex: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
- id: dnsserver
required: true
type: TextInput
properties:
title: DNS server
placeholder: 1.1.1.1, 1.0.0.1
label:
extra: (comma-separated list of IP addresses)
extraStyle:
font-size: smaller
font-style: italic
validate:
- status: error
message: Enter one or more valid IP addresses, separated by a comma
pass:
_regex: ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?))(?:,\s*(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)))*$
- id: dnssuffix
required: true
type: TextInput
properties:
title: DNS suffix
placeholder: example.org
validate:
- status: error
message: Enter a valid domain name
pass:
_regex: (?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63}$)
- id: rightcolumn
type: Box
layout:
span: 12
contentGutter: 10
blocks:
- id: certificate
required: true
type: TextArea
properties:
autoSize:
maxRows: 4
minRows: 4
block: true
title: Certificate
placeholder: |
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
label:
extra: PEM format
extraStyle:
font-size: smaller
font-style: italic
- id: privatekey
required: true
type: TextArea
properties:
autoSize:
maxRows: 4
minRows: 4
block: true
title: Private key
placeholder: |
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----
label:
extra: PEM format
extraStyle:
font-size: smaller
font-style: italic
- id: fullchain
required: true
type: TextArea
properties:
autoSize:
maxRows: 4
minRows: 4
block: true
title: Issuing CA chain
placeholder: |
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
label:
extra: PEM format
extraStyle:
font-size: smaller
font-style: italic
- id: warning
type: Alert
properties:
message: Only *after* pressing 'Start Deployment', can the physical device be booted over LAN
type: warning
- id: reset_button
type: Button
layout:
grow: 1
properties:
title: Reset
icon: ClearOutlined
block: true
type: default
events:
onClick:
- id: reset
type: Reset
- id: start_deployment
type: Button
layout:
grow: 3
properties:
title: Start Deployment
icon: RocketOutlined
block: true
# requests:
# - id: update_brand
# type: MongoDBUpdateOne # MongoDb updateOne request to update the brand.
# connectionId: brands
# properties:
# filter:
# _id:
# _state: _id # Select the document that matches the document's _id that is in state.
# update:
# $set:
# name:
# _state: name # Insert the brand name we set in state.
# description:
# _state: description # Insert the description name we set in state.
# updated_at:
# _date: now # Set the updated_at date as current time.
events:
onClick:
- id: validate
type: Validate
- id: update_brand # Call the update_brand request.
type: Request
params: update_brand