component {
scrollable(direction = vertical, class = u-fill-all) {
column(class = form-stack) {
column(class = form-panel) {
text("{t('settings_backups.s3_destination')}", class = u-label-cap)
text("{t('settings_backups.destination_hint')}", class = u-muted)
text(
"{t('settings_backups.no_recovery_recipient')}",
if = @backup_destination_recovery_missing,
equals = true,
class = u-error,
)
row(class = env__add, if = @backup_destination_recovery_missing, equals = true) {
button(
"{t('settings_recovery_key.generate_key')}",
class = btn-secondary,
on_click = recovery_key_open
)
}
text("{t('settings_backups.endpoint')}", class = u-label-cap)
input(
placeholder = "https://s3.us-east-005.backblazeb2.com",
class = field__input,
form_control = backup_destination_endpoint,
:value = backup_destination_endpoint,
on_change = field:backup_destination_endpoint,
)
row(class = healthcheck__grid) {
column(class = healthcheck__field) {
text("{t('settings_backups.bucket')}", class = u-label-cap)
input(
placeholder = "meu-bucket",
class = field__input,
form_control = backup_destination_bucket,
:value = backup_destination_bucket,
on_change = field:backup_destination_bucket,
)
}
column(class = healthcheck__field) {
text("{t('settings_backups.region')}", class = u-label-cap)
input(
placeholder = "us-east-1",
class = field__input,
form_control = backup_destination_region,
:value = backup_destination_region,
on_change = field:backup_destination_region,
)
}
}
text("{t('settings_backups.folder')}", class = u-label-cap)
input(
placeholder = "rustploy/meu-servidor",
class = field__input,
form_control = backup_destination_prefix,
:value = backup_destination_prefix,
on_change = field:backup_destination_prefix,
)
toggle(
:checked = backup_destination_path_style,
on_toggle = field:backup_destination_path_style,
label = "{t('settings_backups.path_style')}",
)
text("{t('settings_backups.path_style_hint')}", class = u-muted)
text("{t('settings_backups.access_key')}", class = u-label-cap)
input(
placeholder = "",
class = field__input,
form_control = backup_destination_access_key,
:value = backup_destination_access_key,
on_change = field:backup_destination_access_key,
)
text("{t('settings_backups.secret_key')}", class = u-label-cap)
input(
placeholder = "{t('settings_backups.secret_key_placeholder')}",
secure = true,
class = field__input,
form_control = backup_destination_secret_key,
:value = backup_destination_secret_key,
on_change = field:backup_destination_secret_key,
)
text(
"{t('settings_backups.secret_key_saved')}",
if = @backup_destination_secret_set,
equals = true,
class = u-muted,
)
row(class = env__add) {
button(
"{t('common.save')}",
class = "btn btn--primary",
on_click = backup_destination_save,
disabled = @busy_backup_destination_save
)
button(
"{t('settings_backups.test_connection')}",
class = "btn btn--ghost",
on_click = backup_destination_test,
disabled = @busy_backup_destination_test
)
if @backup_destination_configured == "true" {
button(
"{t('common.remove')}",
class = "btn btn--danger",
on_click = backup_destination_clear,
disabled = @busy_backup_destination_clear
)
}
text("@backup_destination_message", class = u-muted)
}
}
}
}
}