├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── build.yml │ ├── publish.yml │ └── release.yml ├── .gitignore ├── .sbtopts ├── .scalafmt.conf ├── CONTRIBUTING.md ├── DEVELOPMENT.md ├── LICENSE ├── README.md ├── SECURITY.md ├── assets ├── README.md ├── icons │ ├── stasis.logo.1024.png │ ├── stasis.logo.128.png │ ├── stasis.logo.16.png │ ├── stasis.logo.256.png │ ├── stasis.logo.32.png │ ├── stasis.logo.512.png │ └── stasis.logo.64.png ├── identity.logo.svg ├── launchers │ ├── stasis.logo.144.png │ ├── stasis.logo.192.png │ ├── stasis.logo.48.png │ ├── stasis.logo.72.png │ ├── stasis.logo.96.png │ ├── stasis.logo.round.144.png │ ├── stasis.logo.round.192.png │ ├── stasis.logo.round.48.png │ ├── stasis.logo.round.72.png │ ├── stasis.logo.round.96.png │ └── stasis.logo.xml ├── refresh_assets.py ├── screenshots │ ├── client_android_screenshot_1.png │ ├── client_android_screenshot_2.png │ ├── client_android_screenshot_3.png │ ├── client_android_screenshot_4.png │ ├── client_android_screenshot_5.png │ ├── client_android_screenshot_6.png │ ├── client_ui_screenshot_1.png │ ├── client_ui_screenshot_2.png │ ├── client_ui_screenshot_3.png │ └── client_ui_screenshot_4.png └── stasis.logo.svg ├── client-android ├── .gitignore ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── stasis │ │ │ └── client_android │ │ │ ├── Fixtures.kt │ │ │ ├── api │ │ │ ├── DatasetsViewModelSpec.kt │ │ │ ├── DeviceStatusViewModelSpec.kt │ │ │ └── UserStatusViewModelSpec.kt │ │ │ ├── eventually.kt │ │ │ ├── extensions.kt │ │ │ ├── mocks │ │ │ ├── Generators.kt │ │ │ ├── MockAnalyticsClient.kt │ │ │ ├── MockAnalyticsCollector.kt │ │ │ ├── MockAnalyticsPersistence.kt │ │ │ ├── MockBackupTracker.kt │ │ │ ├── MockCommandProcessor.kt │ │ │ ├── MockCredentialsManagementBridge.kt │ │ │ ├── MockOAuthClient.kt │ │ │ ├── MockOperationExecutor.kt │ │ │ ├── MockRecoveryTracker.kt │ │ │ ├── MockSearch.kt │ │ │ ├── MockServerApiEndpointClient.kt │ │ │ ├── MockServerCoreEndpointClient.kt │ │ │ ├── MockServerMonitor.kt │ │ │ └── MockServerTracker.kt │ │ │ ├── persistence │ │ │ ├── config │ │ │ │ ├── ConfigRepositorySpec.kt │ │ │ │ └── ConfigViewModelSpec.kt │ │ │ ├── credentials │ │ │ │ ├── CredentialsRepositorySpec.kt │ │ │ │ └── CredentialsViewModelSpec.kt │ │ │ ├── rules │ │ │ │ ├── RuleEntityDaoSpec.kt │ │ │ │ ├── RuleEntityDatabaseSpec.kt │ │ │ │ ├── RuleRepositorySpec.kt │ │ │ │ └── RuleViewModelSpec.kt │ │ │ └── schedules │ │ │ │ ├── ActiveScheduleEntityDaoSpec.kt │ │ │ │ ├── ActiveScheduleEntityDatabaseSpec.kt │ │ │ │ ├── ActiveScheduleRepositorySpec.kt │ │ │ │ ├── ActiveScheduleViewModelSpec.kt │ │ │ │ ├── LocalScheduleEntityDaoSpec.kt │ │ │ │ ├── LocalScheduleEntityDatabaseSpec.kt │ │ │ │ ├── LocalScheduleRepositorySpec.kt │ │ │ │ └── LocalScheduleViewModelSpec.kt │ │ │ ├── telemetry │ │ │ └── analytics │ │ │ │ ├── DefaultAnalyticsCollectorSpec.kt │ │ │ │ └── DefaultAnalyticsPersistenceSpec.kt │ │ │ ├── tracking │ │ │ ├── DefaultBackupsTrackerSpec.kt │ │ │ ├── DefaultRecoveryTrackerSpec.kt │ │ │ └── DefaultServerTrackerSpec.kt │ │ │ └── utils │ │ │ ├── DynamicArgumentsSpec.kt │ │ │ └── LiveDataExtensionsSpec.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── stasis │ │ │ │ └── client_android │ │ │ │ ├── ServiceComponent.kt │ │ │ │ ├── StasisClientApplication.kt │ │ │ │ ├── StasisClientDependencies.kt │ │ │ │ ├── activities │ │ │ │ ├── CrashReportActivity.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── WelcomeActivity.kt │ │ │ │ ├── fragments │ │ │ │ │ ├── AboutFragment.kt │ │ │ │ │ ├── HomeFragment.kt │ │ │ │ │ ├── SettingsFragment.kt │ │ │ │ │ ├── WelcomeFragment.kt │ │ │ │ │ ├── backup │ │ │ │ │ │ ├── DatasetDefinitionDetailsFragment.kt │ │ │ │ │ │ ├── DatasetDefinitionFormFragment.kt │ │ │ │ │ │ ├── DatasetDefinitionListFragment.kt │ │ │ │ │ │ ├── DatasetDefinitionListItemAdapter.kt │ │ │ │ │ │ ├── DatasetEntryDetailsFragment.kt │ │ │ │ │ │ ├── DatasetEntryListItemAdapter.kt │ │ │ │ │ │ └── DatasetMetadataEntryListItemAdapter.kt │ │ │ │ │ ├── bootstrap │ │ │ │ │ │ ├── BootstrapIntroFragment.kt │ │ │ │ │ │ ├── BootstrapProvideCodeFragment.kt │ │ │ │ │ │ ├── BootstrapProvidePasswordFragment.kt │ │ │ │ │ │ ├── BootstrapProvideSecretFragment.kt │ │ │ │ │ │ ├── BootstrapProvideServerFragment.kt │ │ │ │ │ │ └── BootstrapProvideUsernameFragment.kt │ │ │ │ │ ├── login │ │ │ │ │ │ ├── LoginFragment.kt │ │ │ │ │ │ ├── MoreOptionsDialogFragment.kt │ │ │ │ │ │ └── MoreOptionsReEncryptDialogFragment.kt │ │ │ │ │ ├── operations │ │ │ │ │ │ ├── OperationDetailsFragment.kt │ │ │ │ │ │ ├── OperationFailureListItemAdapter.kt │ │ │ │ │ │ ├── OperationListItemAdapter.kt │ │ │ │ │ │ ├── OperationStageListItemAdapter.kt │ │ │ │ │ │ ├── OperationStageStepsDialogFragment.kt │ │ │ │ │ │ └── OperationsFragment.kt │ │ │ │ │ ├── recover │ │ │ │ │ │ └── RecoverFragment.kt │ │ │ │ │ ├── rules │ │ │ │ │ │ ├── DefinitionRulesFragment.kt │ │ │ │ │ │ ├── RuleFormDialogFragment.kt │ │ │ │ │ │ ├── RuleSuggestion.kt │ │ │ │ │ │ ├── RuleSuggestionListItemAdapter.kt │ │ │ │ │ │ ├── RuleTreeDialogFragment.kt │ │ │ │ │ │ ├── RuleTreeEntryContextDialogFragment.kt │ │ │ │ │ │ ├── RulesFragment.kt │ │ │ │ │ │ └── RulesListItemAdapter.kt │ │ │ │ │ ├── schedules │ │ │ │ │ │ ├── ActiveScheduleListItemAdapter.kt │ │ │ │ │ │ ├── LocalScheduleFormDialogFragment.kt │ │ │ │ │ │ ├── NewScheduleAssignmentDialogFragment.kt │ │ │ │ │ │ ├── ScheduleListItemAdapter.kt │ │ │ │ │ │ └── SchedulesFragment.kt │ │ │ │ │ ├── search │ │ │ │ │ │ ├── SearchFragment.kt │ │ │ │ │ │ ├── SearchResultListItemAdapter.kt │ │ │ │ │ │ └── SearchResultMatchListItemAdapter.kt │ │ │ │ │ ├── settings │ │ │ │ │ │ ├── AnalyticsDialogFragment.kt │ │ │ │ │ │ ├── AvailableCommandsDialogFragment.kt │ │ │ │ │ │ ├── ExportDialogFragment.kt │ │ │ │ │ │ ├── ImportDialogFragment.kt │ │ │ │ │ │ ├── PullDialogFragment.kt │ │ │ │ │ │ ├── PushDialogFragment.kt │ │ │ │ │ │ ├── SupportedCommandsDialogFragment.kt │ │ │ │ │ │ ├── UpdatePasswordFragment.kt │ │ │ │ │ │ └── UpdateSaltFragment.kt │ │ │ │ │ └── status │ │ │ │ │ │ ├── ConnectionsFragment.kt │ │ │ │ │ │ ├── DeviceDetailsFragment.kt │ │ │ │ │ │ ├── ServerListItemAdapter.kt │ │ │ │ │ │ ├── StatusEntryListItemAdapter.kt │ │ │ │ │ │ ├── StatusFragment.kt │ │ │ │ │ │ └── UserDetailsFragment.kt │ │ │ │ ├── helpers │ │ │ │ │ ├── Backups.kt │ │ │ │ │ ├── Common.kt │ │ │ │ │ ├── DateTimeExtensions.kt │ │ │ │ │ ├── RecoveryConfig.kt │ │ │ │ │ ├── TextInputExtensions.kt │ │ │ │ │ └── Transitions.kt │ │ │ │ ├── receivers │ │ │ │ │ ├── LogoutReceiver.kt │ │ │ │ │ ├── SystemConfigurationChangedReceiver.kt │ │ │ │ │ └── SystemStartedReceiver.kt │ │ │ │ └── views │ │ │ │ │ ├── ExpandingListView.kt │ │ │ │ │ ├── context │ │ │ │ │ ├── EntryAction.kt │ │ │ │ │ ├── EntryActionsContextDialogFragment.kt │ │ │ │ │ └── EntryActionsListItemAdapter.kt │ │ │ │ │ ├── dialogs │ │ │ │ │ ├── ConfirmationDialogFragment.kt │ │ │ │ │ └── InformationDialogFragment.kt │ │ │ │ │ └── tree │ │ │ │ │ └── FileTreeNode.kt │ │ │ │ ├── api │ │ │ │ ├── DatasetsViewModel.kt │ │ │ │ ├── DeviceStatusViewModel.kt │ │ │ │ ├── UserStatusViewModel.kt │ │ │ │ └── clients │ │ │ │ │ ├── MockConfig.kt │ │ │ │ │ ├── MockOAuthClient.kt │ │ │ │ │ ├── MockServerApiEndpointClient.kt │ │ │ │ │ ├── MockServerBootstrapEndpointClient.kt │ │ │ │ │ ├── MockServerCoreEndpointClient.kt │ │ │ │ │ └── MockServiceDiscoveryClient.kt │ │ │ │ ├── persistence │ │ │ │ ├── Converters.kt │ │ │ │ ├── cache │ │ │ │ │ ├── DatasetEntryCacheFileSerdes.kt │ │ │ │ │ └── DatasetMetadataCacheFileSerdes.kt │ │ │ │ ├── config │ │ │ │ │ ├── Config.kt │ │ │ │ │ ├── ConfigRepository.kt │ │ │ │ │ └── ConfigViewModel.kt │ │ │ │ ├── credentials │ │ │ │ │ ├── CredentialsRepository.kt │ │ │ │ │ └── CredentialsViewModel.kt │ │ │ │ ├── rules │ │ │ │ │ ├── RuleEntity.kt │ │ │ │ │ ├── RuleEntityDao.kt │ │ │ │ │ ├── RuleEntityDatabase.kt │ │ │ │ │ ├── RuleRepository.kt │ │ │ │ │ ├── RuleViewModel.kt │ │ │ │ │ └── RulesConfig.kt │ │ │ │ └── schedules │ │ │ │ │ ├── ActiveScheduleEntity.kt │ │ │ │ │ ├── ActiveScheduleEntityDao.kt │ │ │ │ │ ├── ActiveScheduleEntityDatabase.kt │ │ │ │ │ ├── ActiveScheduleRepository.kt │ │ │ │ │ ├── ActiveScheduleViewModel.kt │ │ │ │ │ ├── LocalScheduleEntity.kt │ │ │ │ │ ├── LocalScheduleEntityDao.kt │ │ │ │ │ ├── LocalScheduleEntityDatabase.kt │ │ │ │ │ ├── LocalScheduleRepository.kt │ │ │ │ │ └── LocalScheduleViewModel.kt │ │ │ │ ├── providers │ │ │ │ └── ProviderContext.kt │ │ │ │ ├── scheduling │ │ │ │ ├── AlarmManagerExtensions.kt │ │ │ │ ├── SchedulerService.kt │ │ │ │ └── Schedules.kt │ │ │ │ ├── security │ │ │ │ ├── DefaultCredentialsManagementBridge.kt │ │ │ │ └── Secrets.kt │ │ │ │ ├── serialization │ │ │ │ ├── ByteStrings.kt │ │ │ │ └── Extras.kt │ │ │ │ ├── settings │ │ │ │ └── Settings.kt │ │ │ │ ├── telemetry │ │ │ │ └── analytics │ │ │ │ │ ├── DefaultAnalyticsCollector.kt │ │ │ │ │ └── DefaultAnalyticsPersistence.kt │ │ │ │ ├── tracking │ │ │ │ ├── BackupTrackerManage.kt │ │ │ │ ├── BackupTrackerView.kt │ │ │ │ ├── DefaultBackupTracker.kt │ │ │ │ ├── DefaultRecoveryTracker.kt │ │ │ │ ├── DefaultServerTracker.kt │ │ │ │ ├── DefaultTrackers.kt │ │ │ │ ├── RecoveryTrackerManage.kt │ │ │ │ ├── RecoveryTrackerView.kt │ │ │ │ ├── ServerTrackerView.kt │ │ │ │ └── TrackerViews.kt │ │ │ │ └── utils │ │ │ │ ├── DynamicArguments.kt │ │ │ │ ├── LiveDataExtensions.kt │ │ │ │ ├── NotificationManagerExtensions.kt │ │ │ │ └── Permissions.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── dot_selector.xml │ │ │ ├── ic_about.xml │ │ │ ├── ic_action_delete.xml │ │ │ ├── ic_action_details.xml │ │ │ ├── ic_action_edit.xml │ │ │ ├── ic_actions_expand.xml │ │ │ ├── ic_add.xml │ │ │ ├── ic_analytics.xml │ │ │ ├── ic_backup.xml │ │ │ ├── ic_check.xml │ │ │ ├── ic_close.xml │ │ │ ├── ic_commands.xml │ │ │ ├── ic_copy.xml │ │ │ ├── ic_debug.xml │ │ │ ├── ic_dot_default.xml │ │ │ ├── ic_dot_selected.xml │ │ │ ├── ic_entity_state_existing.xml │ │ │ ├── ic_entity_state_new.xml │ │ │ ├── ic_entity_state_updated.xml │ │ │ ├── ic_export.xml │ │ │ ├── ic_filter_off.xml │ │ │ ├── ic_filter_on.xml │ │ │ ├── ic_home.xml │ │ │ ├── ic_import.xml │ │ │ ├── ic_info.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ ├── ic_logout.xml │ │ │ ├── ic_menu.xml │ │ │ ├── ic_mock.xml │ │ │ ├── ic_operations.xml │ │ │ ├── ic_play.xml │ │ │ ├── ic_pull.xml │ │ │ ├── ic_push.xml │ │ │ ├── ic_recover.xml │ │ │ ├── ic_reset.xml │ │ │ ├── ic_restrictions.xml │ │ │ ├── ic_rule_operation_exclude.xml │ │ │ ├── ic_rule_operation_include.xml │ │ │ ├── ic_rules.xml │ │ │ ├── ic_schedules.xml │ │ │ ├── ic_search.xml │ │ │ ├── ic_settings.xml │ │ │ ├── ic_status.xml │ │ │ ├── ic_status_collapse.xml │ │ │ ├── ic_status_expand.xml │ │ │ ├── ic_stop.xml │ │ │ ├── ic_tree.xml │ │ │ ├── ic_tree_arrow_down.xml │ │ │ ├── ic_tree_arrow_right.xml │ │ │ ├── ic_tree_directory.xml │ │ │ ├── ic_tree_file.xml │ │ │ ├── ic_update_password.xml │ │ │ ├── ic_update_salt.xml │ │ │ └── ic_warning.xml │ │ │ ├── layout-land │ │ │ ├── fragment_dataset_definition_details.xml │ │ │ ├── fragment_device_details.xml │ │ │ ├── fragment_home.xml │ │ │ ├── fragment_login.xml │ │ │ ├── fragment_operation_details.xml │ │ │ ├── fragment_search.xml │ │ │ ├── fragment_user_details.xml │ │ │ ├── list_item_dataset_definition_details.xml │ │ │ └── list_item_operation.xml │ │ │ ├── layout │ │ │ ├── activity_crash_report.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_welcome.xml │ │ │ ├── context_dialog_entry_actions.xml │ │ │ ├── context_dialog_rule_tree_entry.xml │ │ │ ├── dialog_analytics.xml │ │ │ ├── dialog_available_commands.xml │ │ │ ├── dialog_device_secret_export.xml │ │ │ ├── dialog_device_secret_import.xml │ │ │ ├── dialog_device_secret_pull.xml │ │ │ ├── dialog_device_secret_push.xml │ │ │ ├── dialog_local_schedule_form.xml │ │ │ ├── dialog_login_more_options.xml │ │ │ ├── dialog_login_more_options_reencrypt.xml │ │ │ ├── dialog_new_schedule_assignment.xml │ │ │ ├── dialog_operation_stage_steps.xml │ │ │ ├── dialog_rule_form.xml │ │ │ ├── dialog_rules_tree.xml │ │ │ ├── dialog_supported_commands.xml │ │ │ ├── dialog_user_credentials_update_password.xml │ │ │ ├── dialog_user_credentials_update_salt.xml │ │ │ ├── dropdown_duration_type_item.xml │ │ │ ├── dropdown_policy_type_item.xml │ │ │ ├── dropdown_schedule_assignment_definition.xml │ │ │ ├── dropdown_schedule_assignment_type_item.xml │ │ │ ├── fragment_about.xml │ │ │ ├── fragment_bootstrap_intro.xml │ │ │ ├── fragment_bootstrap_provide_code.xml │ │ │ ├── fragment_bootstrap_provide_password.xml │ │ │ ├── fragment_bootstrap_provide_secret.xml │ │ │ ├── fragment_bootstrap_provide_server.xml │ │ │ ├── fragment_bootstrap_provide_username.xml │ │ │ ├── fragment_connections.xml │ │ │ ├── fragment_dataset_definition_details.xml │ │ │ ├── fragment_dataset_definition_form.xml │ │ │ ├── fragment_dataset_definition_list.xml │ │ │ ├── fragment_dataset_entry_details.xml │ │ │ ├── fragment_definition_rules.xml │ │ │ ├── fragment_device_details.xml │ │ │ ├── fragment_home.xml │ │ │ ├── fragment_login.xml │ │ │ ├── fragment_operation_details.xml │ │ │ ├── fragment_operations.xml │ │ │ ├── fragment_recover.xml │ │ │ ├── fragment_rules.xml │ │ │ ├── fragment_schedules.xml │ │ │ ├── fragment_search.xml │ │ │ ├── fragment_status.xml │ │ │ ├── fragment_user_details.xml │ │ │ ├── fragment_welcome.xml │ │ │ ├── input_dataset_definition_retention.xml │ │ │ ├── input_duration.xml │ │ │ ├── input_timestamp.xml │ │ │ ├── layout_dataset_metadata_entry_details_row.xml │ │ │ ├── layout_limits_row.xml │ │ │ ├── list_item_analytics_event.xml │ │ │ ├── list_item_analytics_failure.xml │ │ │ ├── list_item_command.xml │ │ │ ├── list_item_dataset_definition_details.xml │ │ │ ├── list_item_dataset_definition_summary.xml │ │ │ ├── list_item_dataset_entry.xml │ │ │ ├── list_item_dataset_entry_summary.xml │ │ │ ├── list_item_dataset_metadata_entry.xml │ │ │ ├── list_item_entry_action.xml │ │ │ ├── list_item_operation.xml │ │ │ ├── list_item_operation_failure.xml │ │ │ ├── list_item_operation_stage.xml │ │ │ ├── list_item_operation_stage_step.xml │ │ │ ├── list_item_permission_chip.xml │ │ │ ├── list_item_rule.xml │ │ │ ├── list_item_rule_suggestion.xml │ │ │ ├── list_item_rules_tree.xml │ │ │ ├── list_item_schedule.xml │ │ │ ├── list_item_schedule_assignment.xml │ │ │ ├── list_item_search_result.xml │ │ │ ├── list_item_search_result_match.xml │ │ │ ├── list_item_server_connection.xml │ │ │ ├── list_item_status_entry.xml │ │ │ └── navigation_drawer_header.xml │ │ │ ├── menu │ │ │ ├── main_top_bar.xml │ │ │ └── navigation_drawer.xml │ │ │ ├── mipmap-anydpi │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── navigation │ │ │ ├── main_nav_graph.xml │ │ │ └── welcome_nav_graph.xml │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ ├── values │ │ │ ├── arrays.xml │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── network_security_config.xml │ │ │ └── preferences.xml │ │ └── test │ │ └── java │ │ └── stasis │ │ └── test │ │ └── client_android │ │ ├── Fixtures.kt │ │ ├── activities │ │ ├── helpers │ │ │ ├── CommonSpec.kt │ │ │ ├── DateTimeExtensionsSpec.kt │ │ │ ├── RecoveryConfigSpec.kt │ │ │ └── TransitionsSpec.kt │ │ └── receivers │ │ │ ├── LogoutReceiverSpec.kt │ │ │ ├── SystemConfigurationChangedReceiverSpec.kt │ │ │ └── SystemStartedReceiverSpec.kt │ │ ├── extensions.kt │ │ ├── mocks │ │ └── MockServerApiEndpointClient.kt │ │ ├── persistence │ │ ├── ConvertersSpec.kt │ │ └── cache │ │ │ ├── DatasetEntryCacheFileSerdesSpec.kt │ │ │ └── DatasetMetadataCacheFileSerdesSpec.kt │ │ ├── scheduling │ │ ├── AlarmManagerExtensionsSpec.kt │ │ └── SchedulerServiceSpec.kt │ │ ├── security │ │ ├── DefaultCredentialsManagementBridgeSpec.kt │ │ └── SecretsSpec.kt │ │ ├── serialization │ │ ├── ByteStringsSpec.kt │ │ └── ExtrasSpec.kt │ │ ├── settings │ │ └── SettingsSpec.kt │ │ └── utils │ │ └── NotificationManagerExtensionsSpec.kt ├── build.gradle.kts ├── config │ └── detekt │ │ └── detekt.yml ├── dev │ └── get_bootstrap_code.sh ├── fastlane │ └── metadata │ │ └── android │ │ └── en-US │ │ ├── full_description.txt │ │ ├── images │ │ ├── icon.png │ │ └── phoneScreenshots │ │ │ ├── client_android_screenshot_1.png │ │ │ ├── client_android_screenshot_2.png │ │ │ ├── client_android_screenshot_3.png │ │ │ ├── client_android_screenshot_4.png │ │ │ ├── client_android_screenshot_5.png │ │ │ └── client_android_screenshot_6.png │ │ └── short_description.txt ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── lib │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── stasis │ │ │ │ └── client_android │ │ │ │ └── lib │ │ │ │ ├── analysis │ │ │ │ ├── Checksum.kt │ │ │ │ └── Metadata.kt │ │ │ │ ├── api │ │ │ │ └── clients │ │ │ │ │ ├── CachedServerApiEndpointClient.kt │ │ │ │ │ ├── Clients.kt │ │ │ │ │ ├── DefaultServerApiEndpointClient.kt │ │ │ │ │ ├── DefaultServerBootstrapEndpointClient.kt │ │ │ │ │ ├── DefaultServerCoreEndpointClient.kt │ │ │ │ │ ├── ServerApiEndpointClient.kt │ │ │ │ │ ├── ServerBootstrapEndpointClient.kt │ │ │ │ │ ├── ServerCoreEndpointClient.kt │ │ │ │ │ ├── ServiceApiClientFactory.kt │ │ │ │ │ ├── exceptions │ │ │ │ │ ├── AccessDeniedFailure.kt │ │ │ │ │ ├── EndpointFailure.kt │ │ │ │ │ ├── InvalidBootstrapCodeFailure.kt │ │ │ │ │ └── ResourceMissingFailure.kt │ │ │ │ │ └── internal │ │ │ │ │ ├── Adapters.kt │ │ │ │ │ └── ClientExtensions.kt │ │ │ │ ├── collection │ │ │ │ ├── BackupCollector.kt │ │ │ │ ├── BackupMetadataCollector.kt │ │ │ │ ├── DefaultBackupCollector.kt │ │ │ │ ├── DefaultRecoveryCollector.kt │ │ │ │ ├── RecoveryCollector.kt │ │ │ │ ├── RecoveryMetadataCollector.kt │ │ │ │ └── rules │ │ │ │ │ ├── Rule.kt │ │ │ │ │ ├── Specification.kt │ │ │ │ │ ├── exceptions │ │ │ │ │ └── RuleMatchingFailure.kt │ │ │ │ │ └── internal │ │ │ │ │ └── FilesWalker.kt │ │ │ │ ├── compression │ │ │ │ ├── Compression.kt │ │ │ │ ├── Compressor.kt │ │ │ │ ├── Decoder.kt │ │ │ │ ├── Deflate.kt │ │ │ │ ├── Encoder.kt │ │ │ │ ├── Gzip.kt │ │ │ │ ├── Identity.kt │ │ │ │ └── internal │ │ │ │ │ └── BaseCompressor.kt │ │ │ │ ├── discovery │ │ │ │ ├── ClientDiscoveryAttributes.kt │ │ │ │ ├── ServiceApiClient.kt │ │ │ │ ├── ServiceApiEndpoint.kt │ │ │ │ ├── ServiceDiscoveryClient.kt │ │ │ │ ├── ServiceDiscoveryRequest.kt │ │ │ │ ├── ServiceDiscoveryResult.kt │ │ │ │ ├── exceptions │ │ │ │ │ └── DiscoveryFailure.kt │ │ │ │ ├── http │ │ │ │ │ └── HttpServiceDiscoveryClient.kt │ │ │ │ └── providers │ │ │ │ │ └── client │ │ │ │ │ └── ServiceDiscoveryProvider.kt │ │ │ │ ├── encryption │ │ │ │ ├── Aes.kt │ │ │ │ ├── Decoder.kt │ │ │ │ ├── Encoder.kt │ │ │ │ ├── secrets │ │ │ │ │ ├── DeviceFileSecret.kt │ │ │ │ │ ├── DeviceMetadataSecret.kt │ │ │ │ │ ├── DeviceSecret.kt │ │ │ │ │ ├── Secret.kt │ │ │ │ │ ├── UserAuthenticationPassword.kt │ │ │ │ │ ├── UserHashedEncryptionPassword.kt │ │ │ │ │ ├── UserKeyStoreEncryptionSecret.kt │ │ │ │ │ ├── UserLocalEncryptionSecret.kt │ │ │ │ │ └── UserPassword.kt │ │ │ │ └── stream │ │ │ │ │ ├── CipherSink.kt │ │ │ │ │ ├── CipherSource.kt │ │ │ │ │ └── CipherTransformation.kt │ │ │ │ ├── model │ │ │ │ ├── DatasetMetadata.kt │ │ │ │ ├── EntityMetadata.kt │ │ │ │ ├── FilesystemMetadata.kt │ │ │ │ ├── SourceEntity.kt │ │ │ │ ├── TargetEntity.kt │ │ │ │ ├── core │ │ │ │ │ ├── CrateStorageRequest.kt │ │ │ │ │ ├── CrateStorageReservation.kt │ │ │ │ │ ├── Identifiers.kt │ │ │ │ │ ├── Manifest.kt │ │ │ │ │ └── networking │ │ │ │ │ │ └── EndpointAddress.kt │ │ │ │ └── server │ │ │ │ │ ├── api │ │ │ │ │ ├── requests │ │ │ │ │ │ ├── CreateAnalyticsEntry.kt │ │ │ │ │ │ ├── CreateDatasetDefinition.kt │ │ │ │ │ │ ├── CreateDatasetEntry.kt │ │ │ │ │ │ ├── ResetUserPassword.kt │ │ │ │ │ │ └── UpdateDatasetDefinition.kt │ │ │ │ │ └── responses │ │ │ │ │ │ ├── CommandAsJson.kt │ │ │ │ │ │ ├── CreatedAnalyticsEntry.kt │ │ │ │ │ │ ├── CreatedDatasetDefinition.kt │ │ │ │ │ │ ├── CreatedDatasetEntry.kt │ │ │ │ │ │ ├── Ping.kt │ │ │ │ │ │ └── UpdatedUserSalt.kt │ │ │ │ │ ├── datasets │ │ │ │ │ ├── DatasetDefinition.kt │ │ │ │ │ └── DatasetEntry.kt │ │ │ │ │ ├── devices │ │ │ │ │ ├── Device.kt │ │ │ │ │ └── DeviceBootstrapParameters.kt │ │ │ │ │ ├── schedules │ │ │ │ │ └── Schedule.kt │ │ │ │ │ └── users │ │ │ │ │ └── User.kt │ │ │ │ ├── ops │ │ │ │ ├── Operation.kt │ │ │ │ ├── backup │ │ │ │ │ ├── Backup.kt │ │ │ │ │ ├── Providers.kt │ │ │ │ │ └── stages │ │ │ │ │ │ ├── EntityCollection.kt │ │ │ │ │ │ ├── EntityDiscovery.kt │ │ │ │ │ │ ├── EntityProcessing.kt │ │ │ │ │ │ ├── MetadataCollection.kt │ │ │ │ │ │ ├── MetadataPush.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── PartitionedSource.kt │ │ │ │ ├── commands │ │ │ │ │ ├── CommandProcessor.kt │ │ │ │ │ └── DefaultCommandProcessor.kt │ │ │ │ ├── exceptions │ │ │ │ │ ├── EntityProcessingFailure.kt │ │ │ │ │ └── OperationRestrictedFailure.kt │ │ │ │ ├── monitoring │ │ │ │ │ ├── DefaultServerMonitor.kt │ │ │ │ │ └── ServerMonitor.kt │ │ │ │ ├── recovery │ │ │ │ │ ├── Providers.kt │ │ │ │ │ ├── Recovery.kt │ │ │ │ │ └── stages │ │ │ │ │ │ ├── EntityCollection.kt │ │ │ │ │ │ ├── EntityProcessing.kt │ │ │ │ │ │ ├── MetadataApplication.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── DecompressedSource.kt │ │ │ │ │ │ ├── DecryptedCrates.kt │ │ │ │ │ │ ├── DestagedByteStringSource.kt │ │ │ │ │ │ └── MergedCrates.kt │ │ │ │ ├── scheduling │ │ │ │ │ ├── ActiveSchedule.kt │ │ │ │ │ ├── DefaultOperationExecutor.kt │ │ │ │ │ ├── OperationExecutor.kt │ │ │ │ │ └── OperationScheduleAssignment.kt │ │ │ │ └── search │ │ │ │ │ ├── DefaultSearch.kt │ │ │ │ │ └── Search.kt │ │ │ │ ├── persistence │ │ │ │ └── state │ │ │ │ │ └── StateStore.kt │ │ │ │ ├── security │ │ │ │ ├── AccessTokenResponse.kt │ │ │ │ ├── CredentialsManagementBridge.kt │ │ │ │ ├── CredentialsProvider.kt │ │ │ │ ├── DefaultOAuthClient.kt │ │ │ │ ├── HttpCredentials.kt │ │ │ │ ├── OAuthClient.kt │ │ │ │ ├── OAuthTokenManager.kt │ │ │ │ └── exceptions │ │ │ │ │ ├── ExplicitLogout.kt │ │ │ │ │ ├── InvalidUserCredentials.kt │ │ │ │ │ ├── MissingDeviceSecret.kt │ │ │ │ │ └── TokenExpired.kt │ │ │ │ ├── staging │ │ │ │ ├── DefaultFileStaging.kt │ │ │ │ └── FileStaging.kt │ │ │ │ ├── telemetry │ │ │ │ ├── ApplicationInformation.kt │ │ │ │ └── analytics │ │ │ │ │ ├── AnalyticsClient.kt │ │ │ │ │ ├── AnalyticsCollector.kt │ │ │ │ │ ├── AnalyticsEntry.kt │ │ │ │ │ └── AnalyticsPersistence.kt │ │ │ │ ├── tracking │ │ │ │ ├── BackupTracker.kt │ │ │ │ ├── RecoveryTracker.kt │ │ │ │ ├── ServerTracker.kt │ │ │ │ └── state │ │ │ │ │ ├── BackupState.kt │ │ │ │ │ ├── OperationState.kt │ │ │ │ │ ├── RecoveryState.kt │ │ │ │ │ └── serdes │ │ │ │ │ ├── BackupStateSerdes.kt │ │ │ │ │ └── RecoveryStateSerdes.kt │ │ │ │ └── utils │ │ │ │ ├── AsyncOps.kt │ │ │ │ ├── Cache.kt │ │ │ │ ├── ConcatSource.kt │ │ │ │ ├── Either.kt │ │ │ │ ├── FlatMapSource.kt │ │ │ │ ├── NonFatal.kt │ │ │ │ ├── Reference.kt │ │ │ │ └── Try.kt │ │ └── protobuf │ │ │ ├── metadata.proto │ │ │ └── state.proto │ │ └── test │ │ ├── kotlin │ │ └── stasis │ │ │ └── test │ │ │ └── client_android │ │ │ └── lib │ │ │ ├── Fixtures.kt │ │ │ ├── ResourceHelpers.kt │ │ │ ├── analysis │ │ │ ├── ChecksumSpec.kt │ │ │ └── MetadataSpec.kt │ │ │ ├── api │ │ │ └── clients │ │ │ │ ├── CachedServerApiEndpointClientSpec.kt │ │ │ │ ├── ClientsSpec.kt │ │ │ │ ├── DefaultServerApiEndpointClientSpec.kt │ │ │ │ ├── DefaultServerBootstrapEndpointClientSpec.kt │ │ │ │ ├── DefaultServerCoreEndpointClientSpec.kt │ │ │ │ ├── ServiceApiClientFactorySpec.kt │ │ │ │ └── internal │ │ │ │ ├── AdaptersSpec.kt │ │ │ │ ├── ClientExtensionsSpec.kt │ │ │ │ ├── TestClient.kt │ │ │ │ └── TestDataClass.kt │ │ │ ├── await.kt │ │ │ ├── collect.kt │ │ │ ├── collection │ │ │ ├── BackupMetadataCollectorSpec.kt │ │ │ ├── DefaultBackupCollectorSpec.kt │ │ │ ├── DefaultRecoveryCollectorSpec.kt │ │ │ ├── RecoveryMetadataCollectorSpec.kt │ │ │ └── rules │ │ │ │ ├── RuleSpec.kt │ │ │ │ ├── SpecificationSpec.kt │ │ │ │ └── internal │ │ │ │ └── FilesWalkerSpec.kt │ │ │ ├── compression │ │ │ ├── CompressionSpec.kt │ │ │ ├── DeflateSpec.kt │ │ │ ├── GzipSpec.kt │ │ │ └── IdentitySpec.kt │ │ │ ├── discovery │ │ │ ├── ClientDiscoveryAttributesSpec.kt │ │ │ ├── ServiceApiEndpointSpec.kt │ │ │ ├── ServiceDiscoveryRequestSpec.kt │ │ │ ├── ServiceDiscoveryResultSpec.kt │ │ │ ├── http │ │ │ │ └── HttpServiceDiscoveryClientSpec.kt │ │ │ └── providers │ │ │ │ └── client │ │ │ │ └── ServiceDiscoveryProviderSpec.kt │ │ │ ├── encryption │ │ │ ├── AesSpec.kt │ │ │ ├── secrets │ │ │ │ ├── DeviceFileSecretSpec.kt │ │ │ │ ├── DeviceMetadataSecretSpec.kt │ │ │ │ ├── DeviceSecretSpec.kt │ │ │ │ ├── SecretSpec.kt │ │ │ │ ├── SecretsConfig.kt │ │ │ │ ├── UserAuthenticationPasswordSpec.kt │ │ │ │ ├── UserHashedEncryptionPasswordSpec.kt │ │ │ │ ├── UserKeyStoreEncryptionSecretSpec.kt │ │ │ │ ├── UserLocalEncryptionSecretSpec.kt │ │ │ │ └── UserPasswordSpec.kt │ │ │ └── stream │ │ │ │ ├── CipherSinkSpec.kt │ │ │ │ ├── CipherSourceSpec.kt │ │ │ │ └── CipherTransformationSpec.kt │ │ │ ├── eventually.kt │ │ │ ├── mocks │ │ │ ├── MockBackupCollector.kt │ │ │ ├── MockBackupTracker.kt │ │ │ ├── MockChecksum.kt │ │ │ ├── MockCompression.kt │ │ │ ├── MockCredentialsManagementBridge.kt │ │ │ ├── MockEncryption.kt │ │ │ ├── MockFileStaging.kt │ │ │ ├── MockRecoveryCollector.kt │ │ │ ├── MockRecoveryMetadataCollector.kt │ │ │ ├── MockRecoveryTracker.kt │ │ │ ├── MockServerApiEndpointClient.kt │ │ │ ├── MockServerCoreEndpointClient.kt │ │ │ ├── MockServerTracker.kt │ │ │ └── MockServiceDiscoveryClient.kt │ │ │ ├── model │ │ │ ├── DatasetMetadataSpec.kt │ │ │ ├── EntityMetadataSpec.kt │ │ │ ├── FilesystemMetadataSpec.kt │ │ │ ├── Generators.kt │ │ │ ├── SourceEntitySpec.kt │ │ │ ├── TargetEntitySpec.kt │ │ │ └── server │ │ │ │ ├── api │ │ │ │ └── responses │ │ │ │ │ └── CommandAsJsonSpec.kt │ │ │ │ ├── datasets │ │ │ │ └── DatasetEntrySpec.kt │ │ │ │ └── schedules │ │ │ │ └── ScheduleSpec.kt │ │ │ ├── ops │ │ │ ├── OperationSpec.kt │ │ │ ├── backup │ │ │ │ ├── BackupSpec.kt │ │ │ │ └── stages │ │ │ │ │ ├── EntityCollectionSpec.kt │ │ │ │ │ ├── EntityDiscoverySpec.kt │ │ │ │ │ ├── EntityProcessingSpec.kt │ │ │ │ │ ├── MetadataCollectionSpec.kt │ │ │ │ │ ├── MetadataPushSpec.kt │ │ │ │ │ └── internal │ │ │ │ │ └── PartitionedSourceSpec.kt │ │ │ ├── commands │ │ │ │ └── DefaultCommandProcessorSpec.kt │ │ │ ├── monitoring │ │ │ │ └── DefaultServerMonitorSpec.kt │ │ │ ├── recovery │ │ │ │ ├── RecoverySpec.kt │ │ │ │ └── stages │ │ │ │ │ ├── EntityCollectionSpec.kt │ │ │ │ │ ├── EntityProcessingSpec.kt │ │ │ │ │ ├── MetadataApplicationSpec.kt │ │ │ │ │ └── internal │ │ │ │ │ ├── DecompressedSourceSpec.kt │ │ │ │ │ ├── DecryptedCratesSpec.kt │ │ │ │ │ ├── DestagedByteStringSourceSpec.kt │ │ │ │ │ └── MergedCratesSpec.kt │ │ │ ├── scheduling │ │ │ │ └── DefaultOperationExecutorSpec.kt │ │ │ └── search │ │ │ │ └── DefaultSearchSpec.kt │ │ │ ├── persistence │ │ │ └── state │ │ │ │ └── StateStoreSpec.kt │ │ │ ├── security │ │ │ ├── AccessTokenResponseSpec.kt │ │ │ ├── CredentialsProviderSpec.kt │ │ │ ├── DefaultOAuthClientSpec.kt │ │ │ ├── HttpCredentialsSpec.kt │ │ │ └── OAuthTokenManagerSpec.kt │ │ │ ├── staging │ │ │ └── DefaultFileStagingSpec.kt │ │ │ ├── telemetry │ │ │ ├── ApplicationInformationSpec.kt │ │ │ └── analytics │ │ │ │ ├── AnalyticsCollectorSpec.kt │ │ │ │ ├── AnalyticsEntrySpec.kt │ │ │ │ ├── MockAnalyticsClient.kt │ │ │ │ ├── MockAnalyticsCollector.kt │ │ │ │ └── MockAnalyticsPersistence.kt │ │ │ ├── tracking │ │ │ └── state │ │ │ │ ├── BackupStateSpec.kt │ │ │ │ ├── RecoveryStateSpec.kt │ │ │ │ └── serdes │ │ │ │ ├── BackupStateSerdesSpec.kt │ │ │ │ └── RecoveryStateSerdesSpec.kt │ │ │ └── utils │ │ │ ├── AsyncOpsSpec.kt │ │ │ ├── CacheSpec.kt │ │ │ ├── ConcatSourceSpec.kt │ │ │ ├── EitherSpec.kt │ │ │ ├── FlatMapSourceSpec.kt │ │ │ ├── NonFatalSpec.kt │ │ │ ├── ReferenceSpec.kt │ │ │ ├── TrySpec.kt │ │ │ └── mock │ │ │ └── MockSource.kt │ │ └── resources │ │ ├── analysis │ │ ├── digest-source-file │ │ └── metadata-source-file │ │ ├── collection │ │ ├── file-1 │ │ ├── file-2 │ │ ├── file-3 │ │ ├── other-file-1 │ │ └── other-file-2 │ │ ├── encryption │ │ ├── encrypted-file │ │ └── plaintext-file │ │ └── ops │ │ ├── large-source-file-1 │ │ ├── large-source-file-2 │ │ ├── nested │ │ ├── source-file-4 │ │ └── source-file-5 │ │ ├── processing │ │ ├── .gitignore │ │ └── empty │ │ ├── recovery │ │ ├── .gitignore │ │ └── empty │ │ ├── scheduling │ │ ├── test.file │ │ ├── test.rules │ │ └── test.schedules │ │ ├── source-file-1 │ │ ├── source-file-2 │ │ ├── source-file-3 │ │ └── temp-file-1 └── settings.gradle.kts ├── client-cli ├── .coveragerc ├── .dockerignore ├── .gitignore ├── .pylintrc ├── README.md ├── client_cli │ ├── __init__.py │ ├── __main__.py │ ├── api │ │ ├── __init__.py │ │ ├── client_api.py │ │ ├── default_client_api.py │ │ ├── default_init_api.py │ │ ├── endpoint_context.py │ │ ├── inactive_client_api.py │ │ ├── inactive_init_api.py │ │ └── init_api.py │ ├── cli │ │ ├── __init__.py │ │ ├── backup.py │ │ ├── common │ │ │ ├── __init__.py │ │ │ ├── filtering.py │ │ │ └── sorting.py │ │ ├── context.py │ │ ├── operations.py │ │ ├── recover.py │ │ ├── schedules.py │ │ └── service.py │ └── render │ │ ├── __init__.py │ │ ├── default │ │ ├── __init__.py │ │ ├── analytics.py │ │ ├── backup_rules.py │ │ ├── dataset_definitions.py │ │ ├── dataset_entries.py │ │ ├── dataset_metadata.py │ │ ├── devices.py │ │ ├── operations.py │ │ ├── schedules.py │ │ └── users.py │ │ ├── default_writer.py │ │ ├── flatten │ │ ├── __init__.py │ │ ├── backup_rules.py │ │ ├── dataset_definitions.py │ │ ├── dataset_entries.py │ │ ├── dataset_metadata.py │ │ └── init_state.py │ │ ├── json_writer.py │ │ └── writer.py ├── qa.py ├── setup.py └── tests │ ├── __init__.py │ ├── api │ ├── __init__.py │ ├── test_default_client_api.py │ ├── test_default_init_api.py │ ├── test_endpoint_context.py │ ├── test_inactive_client_api.py │ ├── test_inactive_init_api.py │ └── test_package.py │ ├── cli │ ├── __init__.py │ ├── cli_runner.py │ ├── common │ │ ├── __init__.py │ │ ├── test_filtering.py │ │ ├── test_package.py │ │ └── test_sorting.py │ ├── test_backup.py │ ├── test_operations.py │ ├── test_package.py │ ├── test_recover.py │ ├── test_schedules.py │ └── test_service.py │ ├── mocks │ ├── __init__.py │ ├── mock_client_api.py │ ├── mock_data.py │ └── mock_init_api.py │ ├── render │ ├── __init__.py │ ├── default │ │ ├── __init__.py │ │ ├── test_analytics.py │ │ ├── test_backup_rules.py │ │ ├── test_dataset_definitions.py │ │ ├── test_dataset_entries.py │ │ ├── test_dataset_metadata.py │ │ ├── test_devices.py │ │ ├── test_operations.py │ │ ├── test_schedules.py │ │ └── test_users.py │ ├── flatten │ │ ├── __init__.py │ │ ├── test_backup_rules.py │ │ ├── test_dataset_definitions.py │ │ ├── test_dataset_entries.py │ │ ├── test_dataset_metadata.py │ │ └── test_init_state.py │ ├── test_default_writer.py │ ├── test_json_writer.py │ └── test_package.py │ └── test_main.py ├── client-ui ├── .gitignore ├── .metadata ├── AppImageBuilder.yml ├── README.md ├── analysis_options.yaml ├── assets │ └── logo.svg ├── deployment │ └── dev │ │ └── build.py ├── lib │ ├── api │ │ ├── api_client.dart │ │ ├── app_processes.dart │ │ ├── default_client_api.dart │ │ ├── default_init_api.dart │ │ ├── endpoint_context.dart │ │ └── mock_api_client.dart │ ├── client_app.dart │ ├── color_schemes.dart │ ├── config │ │ ├── api_token.dart │ │ ├── app_dirs.dart │ │ ├── app_files.dart │ │ └── config.dart │ ├── main.dart │ ├── model │ │ ├── analytics │ │ │ ├── analytics_entry.dart │ │ │ └── analytics_state.dart │ │ ├── api │ │ │ ├── requests │ │ │ │ ├── create_dataset_definition.dart │ │ │ │ ├── update_dataset_definition.dart │ │ │ │ ├── update_user_password.dart │ │ │ │ └── update_user_salt.dart │ │ │ └── responses │ │ │ │ ├── created_dataset_definition.dart │ │ │ │ └── operation_started.dart │ │ ├── datasets │ │ │ ├── dataset_definition.dart │ │ │ ├── dataset_entry.dart │ │ │ ├── dataset_metadata.dart │ │ │ ├── dataset_metadata_search_result.dart │ │ │ └── entity_metadata.dart │ │ ├── devices │ │ │ ├── device.dart │ │ │ └── server_state.dart │ │ ├── formats.dart │ │ ├── operations │ │ │ ├── operation.dart │ │ │ ├── operation_progress.dart │ │ │ ├── operation_state.dart │ │ │ ├── rule.dart │ │ │ └── specification_rules.dart │ │ ├── schedules │ │ │ ├── active_schedule.dart │ │ │ └── schedule.dart │ │ ├── service │ │ │ ├── init_state.dart │ │ │ └── ping.dart │ │ └── users │ │ │ ├── permission.dart │ │ │ └── user.dart │ ├── pages │ │ ├── about.dart │ │ ├── backup.dart │ │ ├── backup_entries.dart │ │ ├── common │ │ │ └── components.dart │ │ ├── components │ │ │ ├── background_processes.dart │ │ │ ├── backup_entry_metadata.dart │ │ │ ├── client_not_configured_card.dart │ │ │ ├── context │ │ │ │ ├── context_menu.dart │ │ │ │ └── entry_action.dart │ │ │ ├── credentials_form.dart │ │ │ ├── dataset_definition_specification.dart │ │ │ ├── dataset_definition_summary.dart │ │ │ ├── dataset_entry_summary.dart │ │ │ ├── dataset_metadata_entity_summary.dart │ │ │ ├── entity_form.dart │ │ │ ├── extensions.dart │ │ │ ├── file_tree.dart │ │ │ ├── forms │ │ │ │ ├── boolean_field.dart │ │ │ │ ├── dataset_entry_field.dart │ │ │ │ ├── date_time_field.dart │ │ │ │ ├── duration_field.dart │ │ │ │ ├── file_size_field.dart │ │ │ │ ├── policy_field.dart │ │ │ │ └── retention_field.dart │ │ │ ├── invalid_config_file_card.dart │ │ │ ├── operation_details.dart │ │ │ ├── operation_summary.dart │ │ │ ├── rendering.dart │ │ │ ├── schedule_assignment_summary.dart │ │ │ ├── schedule_summary.dart │ │ │ ├── sizing.dart │ │ │ ├── top_bar.dart │ │ │ └── update_user_credentials_form.dart │ │ ├── home.dart │ │ ├── login.dart │ │ ├── operations.dart │ │ ├── page_destinations.dart │ │ ├── page_router.dart │ │ ├── recover.dart │ │ ├── rules.dart │ │ ├── schedules.dart │ │ ├── search.dart │ │ ├── settings.dart │ │ └── status.dart │ └── utils │ │ ├── chrono_unit.dart │ │ ├── debouncer.dart │ │ ├── env.dart │ │ ├── file_size_unit.dart │ │ ├── pair.dart │ │ └── triple.dart ├── linux │ ├── .gitignore │ ├── CMakeLists.txt │ ├── flutter │ │ ├── CMakeLists.txt │ │ ├── generated_plugin_registrant.cc │ │ ├── generated_plugin_registrant.h │ │ └── generated_plugins.cmake │ ├── main.cc │ ├── my_application.cc │ └── my_application.h ├── macos │ ├── .gitignore │ ├── Flutter │ │ ├── Flutter-Debug.xcconfig │ │ └── Flutter-Release.xcconfig │ ├── Podfile │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── 1024.png │ │ │ ├── 128.png │ │ │ ├── 16.png │ │ │ ├── 256.png │ │ │ ├── 32.png │ │ │ ├── 512.png │ │ │ ├── 64.png │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ └── MainMenu.xib │ │ ├── Configs │ │ ├── AppInfo.xcconfig │ │ ├── Debug.xcconfig │ │ ├── Release.xcconfig │ │ └── Warnings.xcconfig │ │ ├── DebugProfile.entitlements │ │ ├── Info.plist │ │ ├── MainFlutterWindow.swift │ │ └── Release.entitlements ├── pubspec.yaml ├── qa.py └── test │ ├── api │ ├── api_client_test.dart │ ├── default_client_api_test.dart │ ├── default_init_api_test.dart │ └── endpoint_context_test.dart │ ├── config │ ├── api_token_test.dart │ ├── app_files_test.dart │ └── config_test.dart │ ├── mocks │ └── mock_api_client.dart │ ├── model │ ├── datasets │ │ ├── dataset_metadata_test.dart │ │ └── entity_metadata_test.dart │ ├── formats_test.dart │ ├── operations │ │ ├── operation_state_test.dart │ │ ├── operation_test.dart │ │ ├── rule_test.dart │ │ └── specification_rules_test.dart │ ├── schedules │ │ └── active_schedule_test.dart │ └── users │ │ ├── permission_test.dart │ │ └── user_test.dart │ ├── pages │ └── manage │ │ └── components │ │ └── rendering_test.dart │ ├── resources │ ├── api_token │ ├── app_files │ │ ├── api-token │ │ ├── client.conf │ │ ├── client.rules │ │ ├── client.schedules │ │ └── invalid │ │ │ └── client.conf │ ├── invalid.conf │ ├── invalid.json │ ├── localhost.p12 │ ├── secret.conf │ ├── valid.conf │ └── valid.json │ └── utils │ ├── pair_test.dart │ └── triple_test.dart ├── client ├── README.md └── src │ ├── main │ ├── protobuf │ │ ├── metadata.proto │ │ └── state.proto │ ├── resources │ │ ├── assets │ │ │ ├── logo.png │ │ │ └── logo.svg │ │ ├── logback.xml │ │ ├── reference.conf │ │ └── templates │ │ │ ├── client.conf.template │ │ │ ├── client.rules.linux.template │ │ │ └── client.rules.macos.template │ └── scala │ │ └── stasis │ │ └── client │ │ ├── Main.scala │ │ ├── analysis │ │ ├── Checksum.scala │ │ └── Metadata.scala │ │ ├── api │ │ ├── Context.scala │ │ ├── clients │ │ │ ├── CachedServerApiEndpointClient.scala │ │ │ ├── Clients.scala │ │ │ ├── DefaultServerApiEndpointClient.scala │ │ │ ├── DefaultServerBootstrapEndpointClient.scala │ │ │ ├── DefaultServerCoreEndpointClient.scala │ │ │ ├── ServerApiEndpointClient.scala │ │ │ ├── ServerBootstrapEndpointClient.scala │ │ │ ├── ServerCoreEndpointClient.scala │ │ │ ├── exceptions │ │ │ │ ├── ServerApiFailure.scala │ │ │ │ └── ServerBootstrapFailure.scala │ │ │ └── internal │ │ │ │ └── InsecureX509TrustManager.scala │ │ └── http │ │ │ ├── Formats.scala │ │ │ ├── HttpApiEndpoint.scala │ │ │ └── routes │ │ │ ├── ApiRoutes.scala │ │ │ ├── DatasetDefinitions.scala │ │ │ ├── DatasetEntries.scala │ │ │ ├── DatasetMetadata.scala │ │ │ ├── Device.scala │ │ │ ├── Operations.scala │ │ │ ├── Schedules.scala │ │ │ ├── Service.scala │ │ │ └── User.scala │ │ ├── collection │ │ ├── BackupCollector.scala │ │ ├── BackupMetadataCollector.scala │ │ ├── RecoveryCollector.scala │ │ ├── RecoveryMetadataCollector.scala │ │ └── rules │ │ │ ├── Rule.scala │ │ │ ├── RuleSet.scala │ │ │ ├── Specification.scala │ │ │ ├── exceptions │ │ │ ├── RuleMatchingFailure.scala │ │ │ └── RuleParsingFailure.scala │ │ │ └── internal │ │ │ ├── FilesWalker.scala │ │ │ └── IndexedRule.scala │ │ ├── compression │ │ ├── Compression.scala │ │ ├── Decoder.scala │ │ ├── Deflate.scala │ │ ├── Encoder.scala │ │ ├── Gzip.scala │ │ └── Identity.scala │ │ ├── encryption │ │ ├── Aes.scala │ │ ├── Decoder.scala │ │ ├── Encoder.scala │ │ ├── secrets │ │ │ ├── DeviceFileSecret.scala │ │ │ ├── DeviceMetadataSecret.scala │ │ │ ├── DeviceSecret.scala │ │ │ ├── Secret.scala │ │ │ ├── UserAuthenticationPassword.scala │ │ │ ├── UserHashedEncryptionPassword.scala │ │ │ ├── UserKeyStoreEncryptionSecret.scala │ │ │ ├── UserLocalEncryptionSecret.scala │ │ │ └── UserPassword.scala │ │ └── stream │ │ │ └── CipherStage.scala │ │ ├── model │ │ ├── DatasetMetadata.scala │ │ ├── EntityMetadata.scala │ │ ├── FilesystemMetadata.scala │ │ ├── SourceEntity.scala │ │ └── TargetEntity.scala │ │ ├── ops │ │ ├── Metrics.scala │ │ ├── ParallelismConfig.scala │ │ ├── backup │ │ │ ├── Backup.scala │ │ │ ├── Providers.scala │ │ │ └── stages │ │ │ │ ├── EntityCollection.scala │ │ │ │ ├── EntityDiscovery.scala │ │ │ │ ├── EntityProcessing.scala │ │ │ │ ├── MetadataCollection.scala │ │ │ │ ├── MetadataPush.scala │ │ │ │ └── internal │ │ │ │ ├── CompressedByteStringSource.scala │ │ │ │ ├── PartitionedByteStringSource.scala │ │ │ │ └── StagedSubFlow.scala │ │ ├── commands │ │ │ ├── CommandProcessor.scala │ │ │ ├── DefaultCommandProcessor.scala │ │ │ ├── DefaultCommandProcessorHandlers.scala │ │ │ ├── DefaultCommandProcessorState.scala │ │ │ └── ProcessedCommand.scala │ │ ├── exceptions │ │ │ ├── EntityDiscardFailure.scala │ │ │ ├── EntityMergeFailure.scala │ │ │ ├── EntityProcessingFailure.scala │ │ │ ├── OperationExecutionFailure.scala │ │ │ ├── OperationStopped.scala │ │ │ ├── ScheduleAssignmentParsingFailure.scala │ │ │ └── ScheduleRetrievalFailure.scala │ │ ├── monitoring │ │ │ ├── DefaultServerMonitor.scala │ │ │ └── ServerMonitor.scala │ │ ├── recovery │ │ │ ├── Providers.scala │ │ │ ├── Recovery.scala │ │ │ └── stages │ │ │ │ ├── EntityCollection.scala │ │ │ │ ├── EntityProcessing.scala │ │ │ │ ├── MetadataApplication.scala │ │ │ │ └── internal │ │ │ │ ├── DecompressedByteStringSource.scala │ │ │ │ ├── DecryptedCrates.scala │ │ │ │ ├── DestagedByteStringSource.scala │ │ │ │ └── MergedCrates.scala │ │ ├── scheduling │ │ │ ├── DefaultOperationExecutor.scala │ │ │ ├── DefaultOperationScheduler.scala │ │ │ ├── OperationExecutor.scala │ │ │ ├── OperationScheduleAssignment.scala │ │ │ └── OperationScheduler.scala │ │ └── search │ │ │ ├── DefaultSearch.scala │ │ │ └── Search.scala │ │ ├── security │ │ ├── CredentialsProvider.scala │ │ ├── DefaultCredentialsProvider.scala │ │ ├── DefaultFrontendAuthenticator.scala │ │ └── FrontendAuthenticator.scala │ │ ├── service │ │ ├── ApplicationArguments.scala │ │ ├── ApplicationConfiguration.scala │ │ ├── ApplicationDirectory.scala │ │ ├── ApplicationRuntimeRequirements.scala │ │ ├── ApplicationTemplates.scala │ │ ├── ApplicationTray.scala │ │ ├── Service.scala │ │ └── components │ │ │ ├── ApiClients.scala │ │ │ ├── ApiEndpoint.scala │ │ │ ├── Base.scala │ │ │ ├── Files.scala │ │ │ ├── Init.scala │ │ │ ├── Ops.scala │ │ │ ├── Secrets.scala │ │ │ ├── Tracking.scala │ │ │ ├── bootstrap │ │ │ ├── Base.scala │ │ │ ├── Bootstrap.scala │ │ │ ├── Init.scala │ │ │ ├── Parameters.scala │ │ │ ├── Secrets.scala │ │ │ ├── init │ │ │ │ ├── ViaCli.scala │ │ │ │ └── ViaStdIn.scala │ │ │ └── internal │ │ │ │ └── SelfSignedCertificateGenerator.scala │ │ │ ├── exceptions │ │ │ └── ServiceStartupFailure.scala │ │ │ ├── init │ │ │ ├── ViaApi.scala │ │ │ └── ViaStdIn.scala │ │ │ ├── internal │ │ │ ├── ConfigOverride.scala │ │ │ └── FutureOps.scala │ │ │ └── maintenance │ │ │ ├── Base.scala │ │ │ ├── Certificates.scala │ │ │ ├── Credentials.scala │ │ │ ├── Init.scala │ │ │ ├── Secrets.scala │ │ │ └── init │ │ │ ├── ViaCli.scala │ │ │ └── ViaStdIn.scala │ │ ├── staging │ │ ├── DefaultFileStaging.scala │ │ └── FileStaging.scala │ │ └── tracking │ │ ├── BackupTracker.scala │ │ ├── RecoveryTracker.scala │ │ ├── ServerTracker.scala │ │ ├── TrackerViews.scala │ │ ├── Trackers.scala │ │ ├── state │ │ ├── BackupState.scala │ │ ├── OperationState.scala │ │ ├── RecoveryState.scala │ │ └── serdes │ │ │ ├── BackupStateSerdes.scala │ │ │ └── RecoveryStateSerdes.scala │ │ └── trackers │ │ ├── DefaultBackupTracker.scala │ │ ├── DefaultRecoveryTracker.scala │ │ └── DefaultServerTracker.scala │ └── test │ ├── resources │ ├── analysis │ │ ├── digest-source-file │ │ └── metadata-source-file │ ├── application.conf │ ├── collection │ │ ├── file-1 │ │ ├── file-2 │ │ ├── file-3 │ │ ├── other-file-1 │ │ └── other-file-2 │ ├── encryption │ │ ├── encrypted-file │ │ └── plaintext-file │ ├── logback-test.xml │ ├── mockito-extensions │ │ └── org.mockito.plugins.MockMaker │ └── ops │ │ ├── large-source-file │ │ ├── nested │ │ ├── source-file-4 │ │ └── source-file-5 │ │ ├── processing │ │ ├── .gitignore │ │ └── empty │ │ ├── recovery │ │ ├── .gitignore │ │ └── empty │ │ ├── scheduling │ │ ├── extra.rules │ │ ├── test.file │ │ ├── test.rules │ │ └── test.schedules │ │ ├── source-file-1 │ │ ├── source-file-2 │ │ ├── source-file-3 │ │ └── temp-file-1 │ └── scala │ └── stasis │ └── test │ └── specs │ └── unit │ └── client │ ├── EncodingHelpers.scala │ ├── Fixtures.scala │ ├── ResourceHelpers.scala │ ├── analysis │ ├── ChecksumSpec.scala │ └── MetadataSpec.scala │ ├── api │ ├── clients │ │ ├── CachedServerApiEndpointClientSpec.scala │ │ ├── ClientsSpec.scala │ │ ├── DefaultServerApiEndpointClientSpec.scala │ │ ├── DefaultServerBootstrapEndpointClientSpec.scala │ │ ├── DefaultServerCoreEndpointClientSpec.scala │ │ └── internal │ │ │ └── InsecureX509TrustManagerSpec.scala │ └── http │ │ ├── FormatsSpec.scala │ │ ├── HttpApiEndpointSpec.scala │ │ └── routes │ │ ├── DatasetDefinitionsSpec.scala │ │ ├── DatasetEntriesSpec.scala │ │ ├── DatasetMetadataSpec.scala │ │ ├── DeviceSpec.scala │ │ ├── OperationsSpec.scala │ │ ├── SchedulesSpec.scala │ │ ├── ServiceSpec.scala │ │ └── UserSpec.scala │ ├── collection │ ├── BackupCollectorSpec.scala │ ├── BackupMetadataCollectorSpec.scala │ ├── RecoveryCollectorSpec.scala │ ├── RecoveryMetadataCollectorSpec.scala │ └── rules │ │ ├── RuleSetSpec.scala │ │ ├── RuleSpec.scala │ │ ├── SpecificationBehaviour.scala │ │ ├── SpecificationSpec.scala │ │ └── internal │ │ ├── FilesWalkerBehaviour.scala │ │ └── FilesWalkerSpec.scala │ ├── compression │ ├── CompressionSpec.scala │ ├── DeflateSpec.scala │ ├── GzipSpec.scala │ └── IdentitySpec.scala │ ├── encryption │ ├── AesSpec.scala │ ├── secrets │ │ ├── DeviceFileSecretSpec.scala │ │ ├── DeviceMetadataSecretSpec.scala │ │ ├── DeviceSecretSpec.scala │ │ ├── SecretsConfig.scala │ │ ├── UserAuthenticationPasswordSpec.scala │ │ ├── UserHashedEncryptionPasswordSpec.scala │ │ ├── UserKeyStoreEncryptionSecretSpec.scala │ │ ├── UserLocalEncryptionSecretSpec.scala │ │ └── UserPasswordSpec.scala │ └── stream │ │ └── CipherStageSpec.scala │ ├── mocks │ ├── MockBackupCollector.scala │ ├── MockBackupMetadataCollector.scala │ ├── MockBackupTracker.scala │ ├── MockChecksum.scala │ ├── MockClientTelemetryContext.scala │ ├── MockCommandProcessor.scala │ ├── MockCompression.scala │ ├── MockEncryption.scala │ ├── MockFileStaging.scala │ ├── MockOperationExecutor.scala │ ├── MockOperationScheduler.scala │ ├── MockOpsMetrics.scala │ ├── MockRecoveryCollector.scala │ ├── MockRecoveryMetadataCollector.scala │ ├── MockRecoveryTracker.scala │ ├── MockSearch.scala │ ├── MockServerApiEndpoint.scala │ ├── MockServerApiEndpointClient.scala │ ├── MockServerBootstrapEndpoint.scala │ ├── MockServerBootstrapEndpointClient.scala │ ├── MockServerCoreEndpoint.scala │ ├── MockServerCoreEndpointClient.scala │ ├── MockServerMonitor.scala │ ├── MockServerTracker.scala │ ├── MockTokenEndpoint.scala │ ├── MockTrackerViews.scala │ └── MockX509TrustManager.scala │ ├── model │ ├── DatasetMetadataSpec.scala │ ├── EntityMetadataSpec.scala │ ├── FilesystemMetadataSpec.scala │ ├── SourceEntitySpec.scala │ └── TargetEntitySpec.scala │ ├── ops │ ├── MetricsSpec.scala │ ├── backup │ │ ├── BackupSpec.scala │ │ └── stages │ │ │ ├── EntityCollectionSpec.scala │ │ │ ├── EntityDiscoverySpec.scala │ │ │ ├── EntityProcessingSpec.scala │ │ │ ├── MetadataCollectionSpec.scala │ │ │ ├── MetadataPushSpec.scala │ │ │ └── internal │ │ │ ├── CompressedByteStringSourceSpec.scala │ │ │ ├── PartitionedByteStringSourceSpec.scala │ │ │ └── StagedSubFlowSpec.scala │ ├── commands │ │ ├── CommandProcessorSpec.scala │ │ ├── DefaultCommandProcessorHandlersSpec.scala │ │ ├── DefaultCommandProcessorSpec.scala │ │ └── DefaultCommandProcessorStateSpec.scala │ ├── exceptions │ │ └── OperationStoppedSpec.scala │ ├── monitoring │ │ └── DefaultServerMonitorSpec.scala │ ├── recovery │ │ ├── RecoverySpec.scala │ │ └── stages │ │ │ ├── EntityCollectionSpec.scala │ │ │ ├── EntityProcessingSpec.scala │ │ │ ├── MetadataApplicationSpec.scala │ │ │ └── internal │ │ │ ├── DecompressedByteStringSourceSpec.scala │ │ │ ├── DecryptedCratesSpec.scala │ │ │ ├── DestagedByteStringSourceSpec.scala │ │ │ └── MergedCratesSpec.scala │ ├── scheduling │ │ ├── DefaultOperationExecutorSpec.scala │ │ ├── DefaultOperationSchedulerSpec.scala │ │ └── OperationScheduleAssignmentSpec.scala │ └── search │ │ ├── DefaultSearchSpec.scala │ │ └── SearchSpec.scala │ ├── security │ ├── DefaultCredentialsProviderSpec.scala │ └── DefaultFrontendAuthenticatorSpec.scala │ ├── service │ ├── ApplicationArgumentsSpec.scala │ ├── ApplicationConfigurationSpec.scala │ ├── ApplicationDirectorySpec.scala │ ├── ApplicationRuntimeRequirementsSpec.scala │ ├── ApplicationTemplatesSpec.scala │ ├── ApplicationTraySpec.scala │ ├── ServiceSpec.scala │ └── components │ │ ├── ApiClientsSpec.scala │ │ ├── ApiEndpointSpec.scala │ │ ├── BaseSpec.scala │ │ ├── InitSpec.scala │ │ ├── OpsSpec.scala │ │ ├── SecretsSpec.scala │ │ ├── TrackingSpec.scala │ │ ├── bootstrap │ │ ├── BaseSpec.scala │ │ ├── BootstrapSpec.scala │ │ ├── InitSpec.scala │ │ ├── ParametersSpec.scala │ │ ├── SecretsSpec.scala │ │ ├── init │ │ │ ├── ViaCliSpec.scala │ │ │ └── ViaStdInSpec.scala │ │ └── internal │ │ │ └── SelfSignedCertificateGeneratorSpec.scala │ │ ├── exceptions │ │ └── ServiceStartupFailureSpec.scala │ │ ├── init │ │ ├── ViaApiSpec.scala │ │ └── ViaStdInSpec.scala │ │ ├── internal │ │ ├── ConfigOverrideSpec.scala │ │ └── FutureOpsSpec.scala │ │ └── maintenance │ │ ├── BaseSpec.scala │ │ ├── CertificatesSpec.scala │ │ ├── CredentialsSpec.scala │ │ ├── InitSpec.scala │ │ ├── SecretsSpec.scala │ │ └── init │ │ ├── ViaCliSpec.scala │ │ └── ViaStdInSpec.scala │ ├── staging │ └── DefaultFileStagingSpec.scala │ └── tracking │ ├── TrackersSpec.scala │ ├── state │ ├── BackupStateSpec.scala │ ├── RecoveryStateSpec.scala │ └── serdes │ │ ├── BackupStateSerdesSpec.scala │ │ └── RecoveryStateSerdesSpec.scala │ └── trackers │ ├── DefaultBackupTrackerSpec.scala │ ├── DefaultRecoveryTrackerSpec.scala │ └── DefaultServerTrackerSpec.scala ├── core ├── README.md └── src │ ├── main │ └── scala │ │ └── stasis │ │ └── core │ │ ├── api │ │ ├── Formats.scala │ │ └── PoolClient.scala │ │ ├── discovery │ │ ├── ServiceApiClient.scala │ │ ├── ServiceApiEndpoint.scala │ │ ├── ServiceDiscoveryClient.scala │ │ ├── ServiceDiscoveryRequest.scala │ │ ├── ServiceDiscoveryResult.scala │ │ ├── exceptions │ │ │ └── DiscoveryFailure.scala │ │ ├── http │ │ │ ├── HttpServiceDiscoveryClient.scala │ │ │ └── HttpServiceDiscoveryEndpoint.scala │ │ └── providers │ │ │ ├── client │ │ │ └── ServiceDiscoveryProvider.scala │ │ │ └── server │ │ │ └── ServiceDiscoveryProvider.scala │ │ ├── networking │ │ ├── Endpoint.scala │ │ ├── EndpointAddress.scala │ │ ├── EndpointClient.scala │ │ ├── exceptions │ │ │ ├── ClientFailure.scala │ │ │ ├── CredentialsFailure.scala │ │ │ ├── EndpointFailure.scala │ │ │ ├── NetworkingFailure.scala │ │ │ └── ReservationFailure.scala │ │ ├── grpc │ │ │ ├── GrpcEndpoint.scala │ │ │ ├── GrpcEndpointAddress.scala │ │ │ ├── GrpcEndpointClient.scala │ │ │ └── internal │ │ │ │ ├── Client.scala │ │ │ │ ├── Credentials.scala │ │ │ │ ├── Implicits.scala │ │ │ │ └── Requests.scala │ │ └── http │ │ │ ├── HttpEndpoint.scala │ │ │ ├── HttpEndpointAddress.scala │ │ │ └── HttpEndpointClient.scala │ │ ├── packaging │ │ ├── Crate.scala │ │ └── Manifest.scala │ │ ├── persistence │ │ ├── CrateStorageRequest.scala │ │ ├── CrateStorageReservation.scala │ │ ├── Metrics.scala │ │ ├── backends │ │ │ ├── EventLogBackend.scala │ │ │ ├── KeyValueBackend.scala │ │ │ ├── StreamingBackend.scala │ │ │ ├── file │ │ │ │ ├── ContainerBackend.scala │ │ │ │ ├── EventLogFileBackend.scala │ │ │ │ ├── FileBackend.scala │ │ │ │ ├── container │ │ │ │ │ ├── Container.scala │ │ │ │ │ ├── CrateChunk.scala │ │ │ │ │ ├── CrateChunkDescriptor.scala │ │ │ │ │ ├── README.md │ │ │ │ │ ├── exceptions │ │ │ │ │ │ ├── ContainerFailure.scala │ │ │ │ │ │ ├── ContainerSinkFailure.scala │ │ │ │ │ │ ├── ContainerSourceFailure.scala │ │ │ │ │ │ └── ConversionFailure.scala │ │ │ │ │ ├── headers │ │ │ │ │ │ ├── ChunkHeader.scala │ │ │ │ │ │ ├── ContainerHeader.scala │ │ │ │ │ │ └── ContainerLogHeader.scala │ │ │ │ │ ├── ops │ │ │ │ │ │ ├── AutoCloseSupport.scala │ │ │ │ │ │ ├── ContainerLogOps.scala │ │ │ │ │ │ ├── ContainerOps.scala │ │ │ │ │ │ ├── ConversionOps.scala │ │ │ │ │ │ └── FileOps.scala │ │ │ │ │ └── stream │ │ │ │ │ │ ├── CrateChunkSink.scala │ │ │ │ │ │ ├── CrateChunkSource.scala │ │ │ │ │ │ └── transform │ │ │ │ │ │ ├── ChunksToCrate.scala │ │ │ │ │ │ └── CrateToChunks.scala │ │ │ │ └── state │ │ │ │ │ └── StateStore.scala │ │ │ ├── memory │ │ │ │ ├── EventLogMemoryBackend.scala │ │ │ │ └── StreamingMemoryBackend.scala │ │ │ └── slick │ │ │ │ ├── LegacyKeyValueStore.scala │ │ │ │ ├── SlickBackend.scala │ │ │ │ └── SlickProfile.scala │ │ ├── commands │ │ │ ├── CommandStore.scala │ │ │ └── DefaultCommandStore.scala │ │ ├── crates │ │ │ └── CrateStore.scala │ │ ├── events │ │ │ └── EventLog.scala │ │ ├── exceptions │ │ │ ├── PersistenceFailure.scala │ │ │ ├── ReservationFailure.scala │ │ │ └── StagingFailure.scala │ │ ├── manifests │ │ │ ├── DefaultManifestStore.scala │ │ │ └── ManifestStore.scala │ │ ├── nodes │ │ │ ├── DefaultNodeStore.scala │ │ │ └── NodeStore.scala │ │ ├── reservations │ │ │ ├── DefaultReservationStore.scala │ │ │ └── ReservationStore.scala │ │ └── staging │ │ │ └── StagingStore.scala │ │ ├── routing │ │ ├── DefaultRouter.scala │ │ ├── Metrics.scala │ │ ├── Node.scala │ │ ├── NodeProxy.scala │ │ ├── Router.scala │ │ └── exceptions │ │ │ ├── DiscardFailure.scala │ │ │ ├── DistributionFailure.scala │ │ │ ├── PullFailure.scala │ │ │ ├── PushFailure.scala │ │ │ └── RoutingFailure.scala │ │ └── security │ │ ├── JwtNodeAuthenticator.scala │ │ ├── JwtNodeCredentialsProvider.scala │ │ ├── NodeAuthenticator.scala │ │ ├── NodeCredentialsProvider.scala │ │ └── PreSharedKeyNodeAuthenticator.scala │ └── test │ ├── resources │ ├── application.conf │ ├── certs │ │ ├── localhost.jks │ │ └── localhost.p12 │ ├── discovery-static-invalid.conf │ ├── discovery-static.conf │ └── logback.xml │ └── scala │ └── stasis │ └── test │ └── specs │ └── unit │ ├── AsyncUnitSpec.scala │ ├── UnitSpec.scala │ └── core │ ├── api │ ├── FormatsSpec.scala │ └── PoolClientSpec.scala │ ├── discovery │ ├── ServiceApiEndpointSpec.scala │ ├── ServiceDiscoveryClientSpec.scala │ ├── ServiceDiscoveryRequestSpec.scala │ ├── ServiceDiscoveryResultSpec.scala │ ├── http │ │ ├── HttpServiceDiscoveryClientSpec.scala │ │ └── HttpServiceDiscoveryEndpointSpec.scala │ ├── mocks │ │ ├── MockDiscoveryApiEndpoint.scala │ │ └── MockServiceDiscoveryClient.scala │ └── providers │ │ ├── client │ │ └── ServiceDiscoveryProviderSpec.scala │ │ └── server │ │ └── ServiceDiscoveryProviderSpec.scala │ ├── networking │ ├── grpc │ │ ├── GrpcEndpointClientSpec.scala │ │ ├── GrpcEndpointSpec.scala │ │ └── internal │ │ │ ├── CredentialsSpec.scala │ │ │ ├── ImplicitsSpec.scala │ │ │ └── RequestsSpec.scala │ ├── http │ │ ├── HttpEndpointClientSpec.scala │ │ └── HttpEndpointSpec.scala │ └── mocks │ │ ├── MockGrpcEndpointClient.scala │ │ ├── MockGrpcNodeCredentialsProvider.scala │ │ ├── MockHttpEndpointClient.scala │ │ └── MockHttpNodeCredentialsProvider.scala │ ├── packaging │ └── ManifestSpec.scala │ ├── persistence │ ├── CrateStorageRequestSpec.scala │ ├── CrateStorageReservationSpec.scala │ ├── Generators.scala │ ├── KeyValueStoreBehaviour.scala │ ├── MetricsSpec.scala │ ├── MockPersistenceMetrics.scala │ ├── backends │ │ ├── EventLogBackendBehaviour.scala │ │ ├── StreamingBackendBehaviour.scala │ │ ├── file │ │ │ ├── ContainerBackendSpec.scala │ │ │ ├── EventLogFileBackendSpec.scala │ │ │ ├── FileBackendSpec.scala │ │ │ ├── container │ │ │ │ ├── ContainerLogEntrySpec.scala │ │ │ │ ├── ContainerSpec.scala │ │ │ │ ├── TestOps.scala │ │ │ │ ├── headers │ │ │ │ │ ├── ChunkHeaderSpec.scala │ │ │ │ │ ├── ContainerHeaderSpec.scala │ │ │ │ │ └── ContainerLogHeaderSpec.scala │ │ │ │ ├── ops │ │ │ │ │ ├── ContainerLogOpsSpec.scala │ │ │ │ │ ├── ContainerOpsSpec.scala │ │ │ │ │ └── ConversionOpsSpec.scala │ │ │ │ └── stream │ │ │ │ │ ├── CrateChunkSinkSpec.scala │ │ │ │ │ ├── CrateChunkSourceSpec.scala │ │ │ │ │ └── transform │ │ │ │ │ ├── ChunksToCrateSpec.scala │ │ │ │ │ └── CrateToChunksSpec.scala │ │ │ └── state │ │ │ │ ├── StateStoreBehaviour.scala │ │ │ │ └── StateStoreSpec.scala │ │ ├── memory │ │ │ ├── EventLogMemoryBackendSpec.scala │ │ │ └── StreamingMemoryBackendSpec.scala │ │ └── slick │ │ │ ├── SlickBackendSpec.scala │ │ │ └── SlickProfileSpec.scala │ ├── commands │ │ └── DefaultCommandStoreSpec.scala │ ├── crates │ │ ├── CrateStoreSpec.scala │ │ └── MockCrateStore.scala │ ├── events │ │ └── EventLogSpec.scala │ ├── manifests │ │ ├── DefaultManifestStoreSpec.scala │ │ └── MockManifestStore.scala │ ├── nodes │ │ ├── DefaultNodeStoreSpec.scala │ │ ├── MockNodeStore.scala │ │ └── NodeStoreSpec.scala │ ├── reservations │ │ ├── DefaultReservationStoreSpec.scala │ │ ├── MockReservationStore.scala │ │ └── ReservationStoreSpec.scala │ └── staging │ │ └── StagingStoreSpec.scala │ ├── routing │ ├── DefaultRouterSpec.scala │ ├── MetricsSpec.scala │ ├── NodeProxySpec.scala │ ├── NodeSpec.scala │ └── mocks │ │ ├── MockRouter.scala │ │ └── MockRoutingMetrics.scala │ ├── security │ ├── JwtNodeAuthenticatorSpec.scala │ ├── JwtNodeCredentialsProviderSpec.scala │ ├── PreSharedKeyNodeAuthenticatorSpec.scala │ └── mocks │ │ ├── MockGrpcAuthenticator.scala │ │ └── MockHttpAuthenticator.scala │ └── telemetry │ └── MockTelemetryContext.scala ├── deployment ├── .gitignore ├── README.md ├── dev │ ├── README.md │ ├── config │ │ ├── client.conf │ │ ├── client.rules │ │ ├── client.schedules │ │ ├── grafana │ │ │ ├── dashboards │ │ │ │ └── dashboard.yml │ │ │ └── datasources │ │ │ │ └── datasource.yml │ │ ├── identity-bootstrap.conf │ │ ├── prometheus-local │ │ │ └── prometheus.yml │ │ ├── prometheus │ │ │ └── prometheus.yml │ │ ├── server-bootstrap.conf │ │ └── server-discovery.conf │ ├── docker-compose-metrics.yml │ ├── docker-compose-no-auth-hash.yml │ ├── docker-compose-usesve.yml │ ├── docker-compose.yml │ ├── dockerfiles │ │ └── client-cli.Dockerfile │ ├── scripts │ │ ├── client_install.sh │ │ ├── client_uninstall.sh │ │ ├── generate_artifacts.py │ │ ├── generate_device_secret.py │ │ ├── generate_self_signed_cert.py │ │ ├── generate_user_password.py │ │ ├── prepare_deployment.sh │ │ └── run_smoke_test.sh │ └── secrets │ │ └── .gitignore ├── grafana │ └── dashboards │ │ ├── client │ │ └── client-overview.json │ │ ├── identity │ │ ├── identity-apis.json │ │ ├── identity-kv-stores.json │ │ └── identity-overview.json │ │ ├── jvm │ │ └── jvm-overview.json │ │ ├── postgresql │ │ └── postgresql-overview.json │ │ └── server │ │ ├── server-apis.json │ │ ├── server-io.json │ │ ├── server-kv-stores.json │ │ └── server-overview.json └── production │ ├── README.md │ ├── bootstrap │ ├── identity.conf │ └── server.conf │ ├── docker-compose.yml │ ├── local │ └── .gitignore │ ├── scripts │ ├── client_install.sh │ ├── client_uninstall.sh │ ├── generate_cert.py │ ├── generate_user_password.py │ ├── server_create_device.sh │ ├── server_create_user.sh │ ├── server_delete_user.sh │ ├── server_get_bootstrap_code.sh │ └── server_prepare_deployment.sh │ ├── secrets │ ├── .gitignore │ └── templates │ │ ├── db-identity-exporter.env.template │ │ ├── db-identity.env.template │ │ ├── db-server-exporter.env.template │ │ ├── db-server.env.template │ │ ├── identity-ui.env.template │ │ ├── identity.bootstrap.env.template │ │ ├── identity.env.template │ │ ├── server-ui.env.template │ │ ├── server.bootstrap.env.template │ │ └── server.env.template │ └── telemetry │ ├── grafana │ ├── dashboards │ │ └── dashboard.yml │ └── datasources │ │ └── datasource.yml │ └── prometheus │ └── prometheus.yml ├── identity-ui ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── deployment │ ├── dev │ │ ├── .env │ │ ├── bootstrap.conf │ │ ├── build.py │ │ ├── docker-compose.yml │ │ ├── run_browser.py │ │ └── run_server.py │ └── production │ │ ├── .env.template │ │ ├── Dockerfile │ │ ├── build.py │ │ ├── entrypoint.sh │ │ └── nginx.template ├── lib │ ├── api │ │ ├── api_client.dart │ │ ├── default_api_client.dart │ │ └── oauth.dart │ ├── color_schemes.dart │ ├── main.dart │ ├── model │ │ ├── api.dart │ │ ├── client.dart │ │ ├── requests │ │ │ ├── create_api.dart │ │ │ ├── create_client.dart │ │ │ ├── create_owner.dart │ │ │ ├── update_client.dart │ │ │ ├── update_client_credentials.dart │ │ │ ├── update_owner.dart │ │ │ └── update_owner_credentials.dart │ │ ├── resource_owner.dart │ │ ├── stored_authorization_code.dart │ │ └── stored_refresh_token.dart │ └── pages │ │ ├── authorize │ │ ├── authorization_callback.dart │ │ ├── authorize.dart │ │ ├── credentials_form.dart │ │ └── derived_passwords.dart │ │ ├── default │ │ ├── components.dart │ │ ├── home.dart │ │ └── not_found.dart │ │ ├── manage │ │ ├── apis.dart │ │ ├── clients.dart │ │ ├── codes.dart │ │ ├── components │ │ │ ├── entity_form.dart │ │ │ ├── entity_table.dart │ │ │ └── rendering.dart │ │ ├── owners.dart │ │ └── tokens.dart │ │ └── page_router.dart ├── pubspec.yaml ├── qa.py ├── test │ ├── api │ │ ├── default_api_client_test.dart │ │ └── oauth_test.dart │ └── pages │ │ ├── authorize │ │ └── derived_passwords_test.dart │ │ └── manage │ │ └── components │ │ └── rendering_test.dart └── web │ ├── assets │ └── logo.svg │ ├── authorize │ └── authorize.js │ ├── index.html │ └── manifest.json ├── identity ├── README.md └── src │ ├── main │ ├── resources │ │ ├── example-bootstrap.conf │ │ ├── logback.xml │ │ └── reference.conf │ └── scala │ │ └── stasis │ │ └── identity │ │ ├── Main.scala │ │ ├── api │ │ ├── Formats.scala │ │ ├── IdentityEndpoint.scala │ │ ├── Jwks.scala │ │ ├── Manage.scala │ │ ├── OAuth.scala │ │ ├── manage │ │ │ ├── Apis.scala │ │ │ ├── Clients.scala │ │ │ ├── Codes.scala │ │ │ ├── Owners.scala │ │ │ ├── Tokens.scala │ │ │ ├── directives │ │ │ │ ├── UserAuthentication.scala │ │ │ │ └── UserAuthorization.scala │ │ │ ├── requests │ │ │ │ ├── CreateApi.scala │ │ │ │ ├── CreateClient.scala │ │ │ │ ├── CreateOwner.scala │ │ │ │ ├── UpdateClient.scala │ │ │ │ ├── UpdateClientCredentials.scala │ │ │ │ ├── UpdateOwner.scala │ │ │ │ └── UpdateOwnerCredentials.scala │ │ │ ├── responses │ │ │ │ └── CreatedClient.scala │ │ │ └── setup │ │ │ │ ├── Config.scala │ │ │ │ └── Providers.scala │ │ └── oauth │ │ │ ├── AuthorizationCodeGrant.scala │ │ │ ├── ClientCredentialsGrant.scala │ │ │ ├── ImplicitGrant.scala │ │ │ ├── PkceAuthorizationCodeGrant.scala │ │ │ ├── RefreshTokenGrant.scala │ │ │ ├── ResourceOwnerPasswordCredentialsGrant.scala │ │ │ ├── directives │ │ │ ├── AccessTokenGeneration.scala │ │ │ ├── AudienceExtraction.scala │ │ │ ├── AuthDirectives.scala │ │ │ ├── AuthorizationCodeConsumption.scala │ │ │ ├── AuthorizationCodeGeneration.scala │ │ │ ├── ClientAuthentication.scala │ │ │ ├── ClientRetrieval.scala │ │ │ ├── RefreshTokenConsumption.scala │ │ │ ├── RefreshTokenGeneration.scala │ │ │ └── ResourceOwnerAuthentication.scala │ │ │ └── setup │ │ │ ├── Config.scala │ │ │ └── Providers.scala │ │ ├── authentication │ │ ├── manage │ │ │ ├── DefaultResourceOwnerAuthenticator.scala │ │ │ └── ResourceOwnerAuthenticator.scala │ │ └── oauth │ │ │ ├── ClientAuthenticator.scala │ │ │ ├── DefaultClientAuthenticator.scala │ │ │ ├── DefaultResourceOwnerAuthenticator.scala │ │ │ ├── EntityAuthenticator.scala │ │ │ └── ResourceOwnerAuthenticator.scala │ │ ├── model │ │ ├── ChallengeMethod.scala │ │ ├── GrantType.scala │ │ ├── ResponseType.scala │ │ ├── Seconds.scala │ │ ├── apis │ │ │ └── Api.scala │ │ ├── clients │ │ │ └── Client.scala │ │ ├── codes │ │ │ ├── AuthorizationCode.scala │ │ │ ├── StoredAuthorizationCode.scala │ │ │ └── generators │ │ │ │ ├── AuthorizationCodeGenerator.scala │ │ │ │ └── DefaultAuthorizationCodeGenerator.scala │ │ ├── errors │ │ │ ├── AuthorizationError.scala │ │ │ └── TokenError.scala │ │ ├── owners │ │ │ └── ResourceOwner.scala │ │ ├── secrets │ │ │ └── Secret.scala │ │ └── tokens │ │ │ ├── AccessToken.scala │ │ │ ├── AccessTokenWithExpiration.scala │ │ │ ├── RefreshToken.scala │ │ │ ├── StoredRefreshToken.scala │ │ │ ├── TokenType.scala │ │ │ └── generators │ │ │ ├── AccessTokenGenerator.scala │ │ │ ├── JwtBearerAccessTokenGenerator.scala │ │ │ ├── RandomRefreshTokenGenerator.scala │ │ │ └── RefreshTokenGenerator.scala │ │ ├── persistence │ │ ├── apis │ │ │ ├── ApiStore.scala │ │ │ └── DefaultApiStore.scala │ │ ├── clients │ │ │ ├── ClientStore.scala │ │ │ └── DefaultClientStore.scala │ │ ├── codes │ │ │ ├── AuthorizationCodeStore.scala │ │ │ └── DefaultAuthorizationCodeStore.scala │ │ ├── internal │ │ │ └── LegacyKeyValueStore.scala │ │ ├── owners │ │ │ ├── DefaultResourceOwnerStore.scala │ │ │ └── ResourceOwnerStore.scala │ │ └── tokens │ │ │ ├── DefaultRefreshTokenStore.scala │ │ │ └── RefreshTokenStore.scala │ │ └── service │ │ ├── Persistence.scala │ │ ├── Service.scala │ │ ├── SignatureKey.scala │ │ └── bootstrap │ │ ├── ApiBootstrapEntityProvider.scala │ │ ├── ClientBootstrapEntityProvider.scala │ │ └── ResourceOwnerBootstrapEntityProvider.scala │ └── test │ ├── resources │ ├── application-invalid-bootstrap.conf │ ├── application-invalid-config.conf │ ├── application.conf │ ├── bootstrap-integration.conf │ ├── bootstrap-unit.conf │ └── keys │ │ ├── ec.jwk.json │ │ ├── oct.jwk.json │ │ └── rsa.jwk.json │ └── scala │ └── stasis │ └── identity │ ├── EncodingHelpers.scala │ ├── RouteTest.scala │ ├── api │ ├── FormatsSpec.scala │ ├── IdentityEndpointSpec.scala │ ├── JwksSpec.scala │ ├── ManageSpec.scala │ ├── OAuthSpec.scala │ ├── manage │ │ ├── ApisSpec.scala │ │ ├── ClientsSpec.scala │ │ ├── CodesSpec.scala │ │ ├── ManageFixtures.scala │ │ ├── OwnersSpec.scala │ │ ├── TokensSpec.scala │ │ ├── directives │ │ │ ├── UserAuthenticationSpec.scala │ │ │ └── UserAuthorizationSpec.scala │ │ └── requests │ │ │ ├── CreateApiSpec.scala │ │ │ ├── CreateClientSpec.scala │ │ │ ├── CreateOwnerSpec.scala │ │ │ ├── UpdateClientCredentialsSpec.scala │ │ │ ├── UpdateClientSpec.scala │ │ │ ├── UpdateOwnerCredentialsSpec.scala │ │ │ └── UpdateOwnerSpec.scala │ └── oauth │ │ ├── AuthorizationCodeGrantSpec.scala │ │ ├── ClientCredentialsGrantSpec.scala │ │ ├── ImplicitGrantSpec.scala │ │ ├── OAuthFixtures.scala │ │ ├── PkceAuthorizationCodeGrantSpec.scala │ │ ├── RefreshTokenGrantSpec.scala │ │ ├── ResourceOwnerPasswordCredentialsGrantSpec.scala │ │ └── directives │ │ ├── AccessTokenGenerationSpec.scala │ │ ├── AudienceExtractionSpec.scala │ │ ├── AuthorizationCodeConsumptionSpec.scala │ │ ├── AuthorizationCodeGenerationSpec.scala │ │ ├── ClientAuthenticationSpec.scala │ │ ├── ClientRetrievalSpec.scala │ │ ├── RefreshTokenConsumptionSpec.scala │ │ ├── RefreshTokenGenerationSpec.scala │ │ └── ResourceOwnerAuthenticationSpec.scala │ ├── authentication │ ├── manage │ │ └── DefaultResourceOwnerAuthenticatorSpec.scala │ └── oauth │ │ ├── DefaultClientAuthenticatorSpec.scala │ │ ├── DefaultResourceOwnerAuthenticatorSpec.scala │ │ └── EntityAuthenticatorSpec.scala │ ├── model │ ├── Generators.scala │ ├── apis │ │ └── ApiSpec.scala │ ├── clients │ │ └── ClientSpec.scala │ ├── codes │ │ └── generators │ │ │ └── DefaultAuthorizationCodeGeneratorSpec.scala │ ├── owners │ │ └── ResourceOwnerSpec.scala │ ├── secrets │ │ └── SecretSpec.scala │ └── tokens │ │ └── generators │ │ ├── JwtBearerAccessTokenGeneratorBehaviour.scala │ │ ├── JwtBearerAccessTokenGeneratorSpec.scala │ │ └── RandomRefreshTokenGeneratorSpec.scala │ ├── persistence │ ├── apis │ │ └── DefaultApiStoreSpec.scala │ ├── clients │ │ └── DefaultClientStoreSpec.scala │ ├── codes │ │ └── DefaultAuthorizationCodeStoreSpec.scala │ ├── mocks │ │ ├── MockApiStore.scala │ │ ├── MockAuthorizationCodeStore.scala │ │ ├── MockClientStore.scala │ │ ├── MockRefreshTokenStore.scala │ │ └── MockResourceOwnerStore.scala │ ├── owners │ │ └── DefaultResourceOwnerStoreSpec.scala │ └── tokens │ │ └── DefaultRefreshTokenStoreSpec.scala │ └── service │ ├── PersistenceSpec.scala │ ├── ServiceSpec.scala │ ├── SignatureKeySpec.scala │ └── bootstrap │ ├── ApiBootstrapEntityProviderSpec.scala │ ├── ClientBootstrapEntityProviderSpec.scala │ └── ResourceOwnerBootstrapEntityProviderSpec.scala ├── project ├── build.properties └── plugins.sbt ├── proto ├── README.md └── src │ ├── main │ ├── protobuf │ │ ├── commands.proto │ │ ├── commands_aux_options.proto │ │ ├── common.proto │ │ ├── common_aux_options.proto │ │ └── stasis.proto │ └── scala │ │ └── stasis │ │ └── core │ │ └── commands │ │ └── proto │ │ ├── CommandSource.scala │ │ └── package.scala │ └── test │ └── scala │ └── stasis │ └── core │ └── commands │ └── proto │ ├── CommandSourceSpec.scala │ └── PackageSpec.scala ├── release.py ├── server-ui ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── deployment │ ├── dev │ │ ├── .env │ │ ├── build.py │ │ ├── docker-compose.yml │ │ ├── identity-bootstrap.conf │ │ ├── run_browser.py │ │ ├── run_server.py │ │ └── server-bootstrap.conf │ └── production │ │ ├── .env.template │ │ ├── Dockerfile │ │ ├── build.py │ │ ├── entrypoint.sh │ │ └── nginx.template ├── lib │ ├── api │ │ ├── api_client.dart │ │ ├── bootstrap_api_client.dart │ │ ├── default_api_client.dart │ │ ├── derived_passwords.dart │ │ └── oauth.dart │ ├── color_schemes.dart │ ├── main.dart │ ├── model │ │ ├── analytics │ │ │ ├── analytics_entry_event.dart │ │ │ ├── analytics_entry_failure.dart │ │ │ ├── analytics_entry_runtime_information.dart │ │ │ ├── analytics_entry_summary.dart │ │ │ └── stored_analytics_entry.dart │ │ ├── api │ │ │ ├── requests │ │ │ │ ├── create_dataset_definition.dart │ │ │ │ ├── create_device_own.dart │ │ │ │ ├── create_device_privileged.dart │ │ │ │ ├── create_node.dart │ │ │ │ ├── create_schedule.dart │ │ │ │ ├── create_user.dart │ │ │ │ ├── update_dataset_definition.dart │ │ │ │ ├── update_device_limits.dart │ │ │ │ ├── update_device_state.dart │ │ │ │ ├── update_node.dart │ │ │ │ ├── update_schedule.dart │ │ │ │ ├── update_user_limits.dart │ │ │ │ ├── update_user_password.dart │ │ │ │ ├── update_user_permissions.dart │ │ │ │ ├── update_user_salt.dart │ │ │ │ └── update_user_state.dart │ │ │ └── responses │ │ │ │ ├── created_dataset_definition.dart │ │ │ │ ├── created_device.dart │ │ │ │ ├── created_node.dart │ │ │ │ ├── created_schedule.dart │ │ │ │ ├── created_user.dart │ │ │ │ ├── ping.dart │ │ │ │ └── updated_user_salt.dart │ │ ├── commands │ │ │ └── command.dart │ │ ├── datasets │ │ │ ├── dataset_definition.dart │ │ │ └── dataset_entry.dart │ │ ├── devices │ │ │ ├── device.dart │ │ │ ├── device_bootstrap_code.dart │ │ │ └── device_key.dart │ │ ├── formats.dart │ │ ├── manifests │ │ │ └── manifest.dart │ │ ├── nodes │ │ │ ├── crate_store_descriptor.dart │ │ │ └── node.dart │ │ ├── reservations │ │ │ └── crate_storage_reservation.dart │ │ ├── schedules │ │ │ └── schedule.dart │ │ └── users │ │ │ ├── permission.dart │ │ │ └── user.dart │ ├── pages │ │ ├── authorize │ │ │ └── authorization_callback.dart │ │ ├── default │ │ │ ├── components.dart │ │ │ ├── home.dart │ │ │ └── not_found.dart │ │ ├── manage │ │ │ ├── analytics.dart │ │ │ ├── codes.dart │ │ │ ├── commands.dart │ │ │ ├── components │ │ │ │ ├── entity_form.dart │ │ │ │ ├── entity_table.dart │ │ │ │ ├── extensions.dart │ │ │ │ ├── forms │ │ │ │ │ ├── boolean_field.dart │ │ │ │ │ ├── command_parameters_field.dart │ │ │ │ │ ├── crate_store_field.dart │ │ │ │ │ ├── date_time_field.dart │ │ │ │ │ ├── device_limits_field.dart │ │ │ │ │ ├── duration_field.dart │ │ │ │ │ ├── file_size_field.dart │ │ │ │ │ ├── node_address_field.dart │ │ │ │ │ ├── node_field.dart │ │ │ │ │ ├── password_field.dart │ │ │ │ │ ├── policy_field.dart │ │ │ │ │ ├── retention_field.dart │ │ │ │ │ ├── state_field.dart │ │ │ │ │ ├── user_limits_field.dart │ │ │ │ │ └── user_permissions_field.dart │ │ │ │ └── rendering.dart │ │ │ ├── definitions.dart │ │ │ ├── device_keys.dart │ │ │ ├── devices.dart │ │ │ ├── entries.dart │ │ │ ├── nodes.dart │ │ │ ├── reservations.dart │ │ │ ├── schedules.dart │ │ │ └── users.dart │ │ ├── page_destinations.dart │ │ └── page_router.dart │ └── utils │ │ ├── chrono_unit.dart │ │ ├── debouncer.dart │ │ ├── file_size_unit.dart │ │ ├── pair.dart │ │ └── triple.dart ├── pubspec.yaml ├── qa.py ├── test │ ├── api │ │ ├── api_client_test.dart │ │ ├── bootstrap_api_client_test.dart │ │ ├── default_api_client_test.dart │ │ ├── derived_passwords_test.dart │ │ └── oauth_test.dart │ ├── model │ │ ├── api │ │ │ └── requests │ │ │ │ └── create_node_test.dart │ │ ├── devices │ │ │ └── device_bootstrap_code_test.dart │ │ ├── formats_test.dart │ │ ├── nodes │ │ │ ├── crate_store_descriptor_test.dart │ │ │ └── node_test.dart │ │ ├── schedules │ │ │ └── schedule_test.dart │ │ └── users │ │ │ ├── permission_test.dart │ │ │ └── user_test.dart │ └── pages │ │ └── manage │ │ └── components │ │ └── rendering_test.dart └── web │ ├── assets │ └── logo.svg │ ├── index.html │ └── manifest.json ├── server ├── README.md └── src │ ├── main │ ├── resources │ │ ├── example-bootstrap.conf │ │ ├── example-discovery-static.conf │ │ ├── logback.xml │ │ └── reference.conf │ └── scala │ │ └── stasis │ │ └── server │ │ ├── Main.scala │ │ ├── api │ │ ├── ApiEndpoint.scala │ │ ├── BootstrapEndpoint.scala │ │ ├── handlers │ │ │ ├── Rejection.scala │ │ │ └── Sanitizing.scala │ │ └── routes │ │ │ ├── Analytics.scala │ │ │ ├── ApiRoutes.scala │ │ │ ├── DatasetDefinitions.scala │ │ │ ├── DatasetEntries.scala │ │ │ ├── DeviceBootstrap.scala │ │ │ ├── Devices.scala │ │ │ ├── Manifests.scala │ │ │ ├── Nodes.scala │ │ │ ├── Reservations.scala │ │ │ ├── RoutesContext.scala │ │ │ ├── Schedules.scala │ │ │ ├── Service.scala │ │ │ ├── Staging.scala │ │ │ └── Users.scala │ │ ├── persistence │ │ ├── analytics │ │ │ ├── AnalyticsEntryStore.scala │ │ │ └── DefaultAnalyticsEntryStore.scala │ │ ├── datasets │ │ │ ├── DatasetDefinitionStore.scala │ │ │ ├── DatasetEntryStore.scala │ │ │ ├── DefaultDatasetDefinitionStore.scala │ │ │ └── DefaultDatasetEntryStore.scala │ │ ├── devices │ │ │ ├── DefaultDeviceBootstrapCodeStore.scala │ │ │ ├── DefaultDeviceKeyStore.scala │ │ │ ├── DefaultDeviceStore.scala │ │ │ ├── DeviceBootstrapCodeStore.scala │ │ │ ├── DeviceCommandStore.scala │ │ │ ├── DeviceKeyStore.scala │ │ │ └── DeviceStore.scala │ │ ├── manifests │ │ │ └── ServerManifestStore.scala │ │ ├── nodes │ │ │ └── ServerNodeStore.scala │ │ ├── reservations │ │ │ └── ServerReservationStore.scala │ │ ├── schedules │ │ │ ├── DefaultScheduleStore.scala │ │ │ └── ScheduleStore.scala │ │ ├── staging │ │ │ └── ServerStagingStore.scala │ │ └── users │ │ │ ├── DefaultUserStore.scala │ │ │ └── UserStore.scala │ │ ├── security │ │ ├── CredentialsProvider.scala │ │ ├── CurrentUser.scala │ │ ├── DefaultResourceProvider.scala │ │ ├── Resource.scala │ │ ├── ResourceProvider.scala │ │ ├── authenticators │ │ │ ├── BootstrapCodeAuthenticator.scala │ │ │ ├── DefaultBootstrapCodeAuthenticator.scala │ │ │ ├── DefaultUserAuthenticator.scala │ │ │ └── UserAuthenticator.scala │ │ ├── devices │ │ │ ├── DeviceBootstrapCodeGenerator.scala │ │ │ ├── DeviceClientSecretGenerator.scala │ │ │ ├── DeviceCredentialsManager.scala │ │ │ └── IdentityDeviceCredentialsManager.scala │ │ ├── exceptions │ │ │ ├── AuthorizationFailure.scala │ │ │ └── CredentialsManagementFailure.scala │ │ └── users │ │ │ ├── IdentityUserCredentialsManager.scala │ │ │ └── UserCredentialsManager.scala │ │ └── service │ │ ├── CorePersistence.scala │ │ ├── ServerPersistence.scala │ │ ├── Service.scala │ │ └── bootstrap │ │ ├── DatasetDefinitionBootstrapEntityProvider.scala │ │ ├── DeviceBootstrapEntityProvider.scala │ │ ├── NodeBootstrapEntityProvider.scala │ │ ├── ScheduleBootstrapEntityProvider.scala │ │ └── UserBootstrapEntityProvider.scala │ └── test │ ├── resources │ ├── application-device-bootstrap.conf │ ├── application-invalid-bootstrap.conf │ ├── application-invalid-config.conf │ ├── application.conf │ ├── bootstrap-device-additional-config.conf │ ├── bootstrap-integration.conf │ └── bootstrap-unit.conf │ └── scala │ └── stasis │ └── server │ ├── Secrets.scala │ ├── api │ ├── ApiEndpointSpec.scala │ ├── BootstrapEndpointSpec.scala │ ├── handlers │ │ ├── RejectionSpec.scala │ │ └── SanitizingSpec.scala │ └── routes │ │ ├── AnalyticsSpec.scala │ │ ├── DatasetDefinitionsSpec.scala │ │ ├── DatasetEntriesSpec.scala │ │ ├── DeviceBootstrapSpec.scala │ │ ├── DevicesSpec.scala │ │ ├── ManifestsSpec.scala │ │ ├── NodesSpec.scala │ │ ├── ReservationsSpec.scala │ │ ├── SchedulesSpec.scala │ │ ├── ServiceSpec.scala │ │ ├── StagingSpec.scala │ │ └── UsersSpec.scala │ ├── persistence │ ├── analytics │ │ ├── AnalyticsEntryStoreSpec.scala │ │ ├── DefaultAnalyticsEntryStoreSpec.scala │ │ └── MockAnalyticsEntryStore.scala │ ├── datasets │ │ ├── DatasetDefinitionStoreSpec.scala │ │ ├── DatasetEntryStoreSpec.scala │ │ ├── DefaultDatasetDefinitionStoreSpec.scala │ │ ├── DefaultDatasetEntryStoreSpec.scala │ │ ├── MockDatasetDefinitionStore.scala │ │ └── MockDatasetEntryStore.scala │ ├── devices │ │ ├── DefaultDeviceBootstrapCodeStoreSpec.scala │ │ ├── DefaultDeviceKeyStoreSpec.scala │ │ ├── DefaultDeviceStoreSpec.scala │ │ ├── DeviceBootstrapCodeStoreSpec.scala │ │ ├── DeviceCommandStoreSpec.scala │ │ ├── DeviceKeyStoreSpec.scala │ │ ├── DeviceStoreSpec.scala │ │ ├── MockCommandStore.scala │ │ ├── MockDeviceBootstrapCodeStore.scala │ │ ├── MockDeviceCommandStore.scala │ │ ├── MockDeviceKeyStore.scala │ │ └── MockDeviceStore.scala │ ├── manifests │ │ └── ServerManifestStoreSpec.scala │ ├── nodes │ │ └── ServerNodeStoreSpec.scala │ ├── reservations │ │ └── ServerReservationStoreSpec.scala │ ├── schedules │ │ ├── DefaultScheduleStoreSpec.scala │ │ ├── MockScheduleStore.scala │ │ └── ScheduleStoreSpec.scala │ ├── staging │ │ └── ServerStagingStoreSpec.scala │ └── users │ │ ├── DefaultUserStoreSpec.scala │ │ ├── MockUserStore.scala │ │ └── UserStoreSpec.scala │ ├── security │ ├── CredentialsProviderSpec.scala │ ├── DefaultResourceProviderSpec.scala │ ├── authenticators │ │ ├── DefaultBootstrapCodeAuthenticatorSpec.scala │ │ └── DefaultUserAuthenticatorSpec.scala │ ├── devices │ │ ├── DeviceBootstrapCodeGeneratorSpec.scala │ │ ├── DeviceClientSecretGeneratorSpec.scala │ │ └── IdentityDeviceCredentialsManagerSpec.scala │ ├── mocks │ │ ├── MockBootstrapCodeAuthenticator.scala │ │ ├── MockDeviceBootstrapCodeGenerator.scala │ │ ├── MockDeviceClientSecretGenerator.scala │ │ ├── MockDeviceCredentialsManager.scala │ │ ├── MockIdentityDeviceManageEndpoint.scala │ │ ├── MockIdentityUserManageEndpoint.scala │ │ ├── MockResourceProvider.scala │ │ ├── MockSimpleJwtEndpoint.scala │ │ ├── MockUserAuthenticator.scala │ │ └── MockUserCredentialsManager.scala │ └── users │ │ └── IdentityUserCredentialsManagerSpec.scala │ └── service │ ├── CorePersistenceSpec.scala │ ├── ServerPersistenceSpec.scala │ ├── ServiceSpec.scala │ └── bootstrap │ ├── DatasetDefinitionBootstrapEntityProviderSpec.scala │ ├── DeviceBootstrapEntityProviderSpec.scala │ ├── NodeBootstrapEntityProviderSpec.scala │ ├── ScheduleBootstrapEntityProviderSpec.scala │ └── UserBootstrapEntityProviderSpec.scala ├── shared ├── README.md └── src │ ├── main │ └── scala │ │ └── stasis │ │ └── shared │ │ ├── api │ │ ├── Formats.scala │ │ ├── requests │ │ │ ├── CreateAnalyticsEntry.scala │ │ │ ├── CreateDatasetDefinition.scala │ │ │ ├── CreateDatasetEntry.scala │ │ │ ├── CreateDeviceOwn.scala │ │ │ ├── CreateDevicePrivileged.scala │ │ │ ├── CreateNode.scala │ │ │ ├── CreateSchedule.scala │ │ │ ├── CreateUser.scala │ │ │ ├── ReEncryptDeviceSecret.scala │ │ │ ├── ResetUserPassword.scala │ │ │ ├── UpdateDatasetDefinition.scala │ │ │ ├── UpdateDevice.scala │ │ │ ├── UpdateDeviceKey.scala │ │ │ ├── UpdateDeviceLimits.scala │ │ │ ├── UpdateDeviceState.scala │ │ │ ├── UpdateNode.scala │ │ │ ├── UpdateSchedule.scala │ │ │ ├── UpdateUser.scala │ │ │ ├── UpdateUserLimits.scala │ │ │ ├── UpdateUserPasswordOwn.scala │ │ │ ├── UpdateUserPermissions.scala │ │ │ ├── UpdateUserSalt.scala │ │ │ ├── UpdateUserSaltOwn.scala │ │ │ └── UpdateUserState.scala │ │ └── responses │ │ │ ├── CreatedAnalyticsEntry.scala │ │ │ ├── CreatedDatasetDefinition.scala │ │ │ ├── CreatedDatasetEntry.scala │ │ │ ├── CreatedDevice.scala │ │ │ ├── CreatedNode.scala │ │ │ ├── CreatedSchedule.scala │ │ │ ├── CreatedUser.scala │ │ │ ├── DeletedAnalyticsEntry.scala │ │ │ ├── DeletedCommand.scala │ │ │ ├── DeletedDatasetDefinition.scala │ │ │ ├── DeletedDatasetEntry.scala │ │ │ ├── DeletedDevice.scala │ │ │ ├── DeletedDeviceKey.scala │ │ │ ├── DeletedManifest.scala │ │ │ ├── DeletedNode.scala │ │ │ ├── DeletedPendingDestaging.scala │ │ │ ├── DeletedReservation.scala │ │ │ ├── DeletedSchedule.scala │ │ │ ├── DeletedUser.scala │ │ │ ├── Ping.scala │ │ │ └── UpdatedUserSalt.scala │ │ ├── model │ │ ├── analytics │ │ │ └── StoredAnalyticsEntry.scala │ │ ├── datasets │ │ │ ├── DatasetDefinition.scala │ │ │ └── DatasetEntry.scala │ │ ├── devices │ │ │ ├── Device.scala │ │ │ ├── DeviceBootstrapCode.scala │ │ │ ├── DeviceBootstrapParameters.scala │ │ │ └── DeviceKey.scala │ │ ├── schedules │ │ │ └── Schedule.scala │ │ └── users │ │ │ └── User.scala │ │ ├── ops │ │ └── Operation.scala │ │ ├── secrets │ │ ├── DerivedPasswords.scala │ │ └── SecretsConfig.scala │ │ └── security │ │ └── Permission.scala │ └── test │ ├── resources │ └── application.conf │ └── scala │ └── stasis │ └── test │ └── specs │ └── unit │ └── shared │ ├── api │ ├── FormatsSpec.scala │ └── requests │ │ ├── CreateAnalyticsEntrySpec.scala │ │ ├── CreateDatasetDefinitionSpec.scala │ │ ├── CreateDatasetEntrySpec.scala │ │ ├── CreateDeviceOwnSpec.scala │ │ ├── CreateDevicePrivilegedSpec.scala │ │ ├── CreateNodeSpec.scala │ │ ├── CreateScheduleSpec.scala │ │ ├── CreateUserSpec.scala │ │ ├── UpdateDatasetDefinitionSpec.scala │ │ ├── UpdateDeviceKeySpec.scala │ │ ├── UpdateDeviceSpec.scala │ │ ├── UpdateNodeSpec.scala │ │ ├── UpdateScheduleSpec.scala │ │ └── UpdateUserSpec.scala │ ├── model │ ├── Generators.scala │ ├── analytics │ │ └── StoredAnalyticsEntrySpec.scala │ ├── datasets │ │ └── DatasetDefinitionSpec.scala │ ├── devices │ │ ├── DeviceBootstrapCodeSpec.scala │ │ ├── DeviceBootstrapParametersSpec.scala │ │ └── DeviceSpec.scala │ └── schedules │ │ └── ScheduleSpec.scala │ └── secrets │ ├── DerivedPasswordsSpec.scala │ └── SecretsConfigSpec.scala └── version.sbt /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.gitignore -------------------------------------------------------------------------------- /.sbtopts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.sbtopts -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEVELOPMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/DEVELOPMENT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/SECURITY.md -------------------------------------------------------------------------------- /assets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/README.md -------------------------------------------------------------------------------- /assets/icons/stasis.logo.1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.1024.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.128.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.16.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.256.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.32.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.512.png -------------------------------------------------------------------------------- /assets/icons/stasis.logo.64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/icons/stasis.logo.64.png -------------------------------------------------------------------------------- /assets/identity.logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/identity.logo.svg -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.144.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.192.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.48.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.72.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.96.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.round.144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.round.144.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.round.192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.round.192.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.round.48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.round.48.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.round.72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.round.72.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.round.96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.round.96.png -------------------------------------------------------------------------------- /assets/launchers/stasis.logo.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/launchers/stasis.logo.xml -------------------------------------------------------------------------------- /assets/refresh_assets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/refresh_assets.py -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_1.png -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_2.png -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_3.png -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_4.png -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_5.png -------------------------------------------------------------------------------- /assets/screenshots/client_android_screenshot_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_android_screenshot_6.png -------------------------------------------------------------------------------- /assets/screenshots/client_ui_screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_ui_screenshot_1.png -------------------------------------------------------------------------------- /assets/screenshots/client_ui_screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_ui_screenshot_2.png -------------------------------------------------------------------------------- /assets/screenshots/client_ui_screenshot_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_ui_screenshot_3.png -------------------------------------------------------------------------------- /assets/screenshots/client_ui_screenshot_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/screenshots/client_ui_screenshot_4.png -------------------------------------------------------------------------------- /assets/stasis.logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/assets/stasis.logo.svg -------------------------------------------------------------------------------- /client-android/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/.gitignore -------------------------------------------------------------------------------- /client-android/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/README.md -------------------------------------------------------------------------------- /client-android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /release 3 | -------------------------------------------------------------------------------- /client-android/app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/build.gradle.kts -------------------------------------------------------------------------------- /client-android/app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/proguard-rules.pro -------------------------------------------------------------------------------- /client-android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/dot_selector.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/dot_selector.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_about.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_about.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_action_delete.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_action_delete.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_action_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_action_details.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_action_edit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_action_edit.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_actions_expand.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_actions_expand.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_add.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_analytics.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_analytics.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_backup.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_backup.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_check.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_close.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_commands.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_commands.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_copy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_copy.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_debug.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_debug.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_dot_default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_dot_default.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_dot_selected.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_dot_selected.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_entity_state_new.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_entity_state_new.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_export.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_export.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_filter_off.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_filter_off.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_filter_on.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_filter_on.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_home.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_import.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_import.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_info.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_info.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_logout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_logout.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_menu.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_mock.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_mock.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_operations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_operations.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_play.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_play.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_pull.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_pull.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_push.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_push.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_recover.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_recover.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_reset.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_reset.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_restrictions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_restrictions.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_rules.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_schedules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_schedules.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_search.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_settings.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_status.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_status.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_status_collapse.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_status_collapse.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_status_expand.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_status_expand.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_stop.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_stop.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_tree.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_tree.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_tree_arrow_down.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_tree_arrow_down.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_tree_arrow_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_tree_arrow_right.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_tree_directory.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_tree_directory.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_tree_file.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_tree_file.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_update_password.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_update_password.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_update_salt.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_update_salt.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/drawable/ic_warning.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/drawable/ic_warning.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout-land/fragment_home.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout-land/fragment_home.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout-land/fragment_login.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout-land/fragment_login.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout-land/fragment_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout-land/fragment_search.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/activity_crash_report.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/activity_crash_report.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/activity_welcome.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/activity_welcome.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/dialog_analytics.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/dialog_analytics.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/dialog_rule_form.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/dialog_rule_form.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/dialog_rules_tree.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/dialog_rules_tree.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_about.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_about.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_connections.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_connections.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_home.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_home.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_login.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_login.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_operations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_operations.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_recover.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_recover.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_rules.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_schedules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_schedules.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_search.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_status.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_status.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_user_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_user_details.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/fragment_welcome.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/fragment_welcome.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/input_duration.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/input_duration.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/input_timestamp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/input_timestamp.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/layout_limits_row.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/layout_limits_row.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_command.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_command.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_entry_action.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_entry_action.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_operation.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_operation.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_rule.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_rule.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_rules_tree.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_rules_tree.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_schedule.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_schedule.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/layout/list_item_status_entry.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/layout/list_item_status_entry.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/menu/main_top_bar.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/menu/main_top_bar.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/menu/navigation_drawer.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/menu/navigation_drawer.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/mipmap-anydpi/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/mipmap-anydpi/ic_launcher.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/navigation/main_nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/navigation/main_nav_graph.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/navigation/welcome_nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/navigation/welcome_nav_graph.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/values-night/themes.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/values/arrays.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /client-android/app/src/main/res/xml/preferences.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/app/src/main/res/xml/preferences.xml -------------------------------------------------------------------------------- /client-android/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/build.gradle.kts -------------------------------------------------------------------------------- /client-android/config/detekt/detekt.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/config/detekt/detekt.yml -------------------------------------------------------------------------------- /client-android/dev/get_bootstrap_code.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/dev/get_bootstrap_code.sh -------------------------------------------------------------------------------- /client-android/fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /client-android/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/gradle.properties -------------------------------------------------------------------------------- /client-android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /client-android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /client-android/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/gradlew -------------------------------------------------------------------------------- /client-android/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/gradlew.bat -------------------------------------------------------------------------------- /client-android/lib/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/build.gradle.kts -------------------------------------------------------------------------------- /client-android/lib/src/main/protobuf/metadata.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/main/protobuf/metadata.proto -------------------------------------------------------------------------------- /client-android/lib/src/main/protobuf/state.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/main/protobuf/state.proto -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/analysis/digest-source-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/analysis/digest-source-file -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/analysis/metadata-source-file: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolor sit amet -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/collection/file-1: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/collection/file-2: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/collection/file-3: -------------------------------------------------------------------------------- 1 | 333 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/collection/other-file-1: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/collection/other-file-2: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/encryption/encrypted-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/encryption/encrypted-file -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/encryption/plaintext-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/encryption/plaintext-file -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/large-source-file-1: -------------------------------------------------------------------------------- 1 | 95a4fffc-6830-4f34-b60d-2560c59631b4 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/large-source-file-2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/ops/large-source-file-2 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/nested/source-file-4: -------------------------------------------------------------------------------- 1 | source-file-4 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/nested/source-file-5: -------------------------------------------------------------------------------- 1 | source-file-5 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/processing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !empty 4 | -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/processing/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/recovery/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !empty 4 | -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/recovery/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/scheduling/test.file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/ops/scheduling/test.file -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/scheduling/test.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-android/lib/src/test/resources/ops/scheduling/test.rules -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/source-file-1: -------------------------------------------------------------------------------- 1 | source-file-1 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/source-file-2: -------------------------------------------------------------------------------- 1 | source-file-2 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/source-file-3: -------------------------------------------------------------------------------- 1 | source-file-3 -------------------------------------------------------------------------------- /client-android/lib/src/test/resources/ops/temp-file-1: -------------------------------------------------------------------------------- 1 | temp-file-1 -------------------------------------------------------------------------------- /client-android/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "stasis-client-android" 2 | 3 | include(":lib", ":app") 4 | -------------------------------------------------------------------------------- /client-cli/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source=client_cli 3 | -------------------------------------------------------------------------------- /client-cli/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/.dockerignore -------------------------------------------------------------------------------- /client-cli/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/.gitignore -------------------------------------------------------------------------------- /client-cli/.pylintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/.pylintrc -------------------------------------------------------------------------------- /client-cli/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/README.md -------------------------------------------------------------------------------- /client-cli/client_cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/client_cli/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/__main__.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/__init__.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/client_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/default_client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/default_client_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/default_init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/default_init_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/endpoint_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/endpoint_context.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/inactive_client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/inactive_client_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/inactive_init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/inactive_init_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/api/init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/api/init_api.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/__init__.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/backup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/backup.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/common/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/common/__init__.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/common/filtering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/common/filtering.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/common/sorting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/common/sorting.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/context.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/operations.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/recover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/recover.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/schedules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/schedules.py -------------------------------------------------------------------------------- /client-cli/client_cli/cli/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/cli/service.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/__init__.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/analytics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/analytics.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/backup_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/backup_rules.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/dataset_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/dataset_definitions.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/dataset_entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/dataset_entries.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/dataset_metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/dataset_metadata.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/devices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/devices.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/operations.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/schedules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/schedules.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default/users.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/default_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/default_writer.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/backup_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/flatten/backup_rules.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/dataset_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/flatten/dataset_definitions.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/dataset_entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/flatten/dataset_entries.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/dataset_metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/flatten/dataset_metadata.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/flatten/init_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/flatten/init_state.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/json_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/json_writer.py -------------------------------------------------------------------------------- /client-cli/client_cli/render/writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/client_cli/render/writer.py -------------------------------------------------------------------------------- /client-cli/qa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/qa.py -------------------------------------------------------------------------------- /client-cli/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/setup.py -------------------------------------------------------------------------------- /client-cli/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/__init__.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_default_client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_default_client_api.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_default_init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_default_init_api.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_endpoint_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_endpoint_context.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_inactive_client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_inactive_client_api.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_inactive_init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_inactive_init_api.py -------------------------------------------------------------------------------- /client-cli/tests/api/test_package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/api/test_package.py -------------------------------------------------------------------------------- /client-cli/tests/cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/cli/cli_runner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/cli_runner.py -------------------------------------------------------------------------------- /client-cli/tests/cli/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/cli/common/test_filtering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/common/test_filtering.py -------------------------------------------------------------------------------- /client-cli/tests/cli/common/test_package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/common/test_package.py -------------------------------------------------------------------------------- /client-cli/tests/cli/common/test_sorting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/common/test_sorting.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_backup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_backup.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_operations.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_package.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_recover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_recover.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_schedules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_schedules.py -------------------------------------------------------------------------------- /client-cli/tests/cli/test_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/cli/test_service.py -------------------------------------------------------------------------------- /client-cli/tests/mocks/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/mocks/mock_client_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/mocks/mock_client_api.py -------------------------------------------------------------------------------- /client-cli/tests/mocks/mock_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/mocks/mock_data.py -------------------------------------------------------------------------------- /client-cli/tests/mocks/mock_init_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/mocks/mock_init_api.py -------------------------------------------------------------------------------- /client-cli/tests/render/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/render/default/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_analytics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_analytics.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_backup_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_backup_rules.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_dataset_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_dataset_definitions.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_dataset_entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_dataset_entries.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_dataset_metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_dataset_metadata.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_devices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_devices.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_operations.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_schedules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_schedules.py -------------------------------------------------------------------------------- /client-cli/tests/render/default/test_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/default/test_users.py -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/test_backup_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/flatten/test_backup_rules.py -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/test_dataset_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/flatten/test_dataset_definitions.py -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/test_dataset_entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/flatten/test_dataset_entries.py -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/test_dataset_metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/flatten/test_dataset_metadata.py -------------------------------------------------------------------------------- /client-cli/tests/render/flatten/test_init_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/flatten/test_init_state.py -------------------------------------------------------------------------------- /client-cli/tests/render/test_default_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/test_default_writer.py -------------------------------------------------------------------------------- /client-cli/tests/render/test_json_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/test_json_writer.py -------------------------------------------------------------------------------- /client-cli/tests/render/test_package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/render/test_package.py -------------------------------------------------------------------------------- /client-cli/tests/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-cli/tests/test_main.py -------------------------------------------------------------------------------- /client-ui/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/.gitignore -------------------------------------------------------------------------------- /client-ui/.metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/.metadata -------------------------------------------------------------------------------- /client-ui/AppImageBuilder.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/AppImageBuilder.yml -------------------------------------------------------------------------------- /client-ui/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/README.md -------------------------------------------------------------------------------- /client-ui/analysis_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/analysis_options.yaml -------------------------------------------------------------------------------- /client-ui/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/assets/logo.svg -------------------------------------------------------------------------------- /client-ui/deployment/dev/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/deployment/dev/build.py -------------------------------------------------------------------------------- /client-ui/lib/api/api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/api_client.dart -------------------------------------------------------------------------------- /client-ui/lib/api/app_processes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/app_processes.dart -------------------------------------------------------------------------------- /client-ui/lib/api/default_client_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/default_client_api.dart -------------------------------------------------------------------------------- /client-ui/lib/api/default_init_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/default_init_api.dart -------------------------------------------------------------------------------- /client-ui/lib/api/endpoint_context.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/endpoint_context.dart -------------------------------------------------------------------------------- /client-ui/lib/api/mock_api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/api/mock_api_client.dart -------------------------------------------------------------------------------- /client-ui/lib/client_app.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/client_app.dart -------------------------------------------------------------------------------- /client-ui/lib/color_schemes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/color_schemes.dart -------------------------------------------------------------------------------- /client-ui/lib/config/api_token.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/config/api_token.dart -------------------------------------------------------------------------------- /client-ui/lib/config/app_dirs.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/config/app_dirs.dart -------------------------------------------------------------------------------- /client-ui/lib/config/app_files.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/config/app_files.dart -------------------------------------------------------------------------------- /client-ui/lib/config/config.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/config/config.dart -------------------------------------------------------------------------------- /client-ui/lib/main.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/main.dart -------------------------------------------------------------------------------- /client-ui/lib/model/analytics/analytics_entry.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/analytics/analytics_entry.dart -------------------------------------------------------------------------------- /client-ui/lib/model/analytics/analytics_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/analytics/analytics_state.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/requests/create_dataset_definition.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/requests/create_dataset_definition.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/requests/update_dataset_definition.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/requests/update_dataset_definition.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/requests/update_user_password.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/requests/update_user_password.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/requests/update_user_salt.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/requests/update_user_salt.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/responses/created_dataset_definition.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/responses/created_dataset_definition.dart -------------------------------------------------------------------------------- /client-ui/lib/model/api/responses/operation_started.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/api/responses/operation_started.dart -------------------------------------------------------------------------------- /client-ui/lib/model/datasets/dataset_definition.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/datasets/dataset_definition.dart -------------------------------------------------------------------------------- /client-ui/lib/model/datasets/dataset_entry.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/datasets/dataset_entry.dart -------------------------------------------------------------------------------- /client-ui/lib/model/datasets/dataset_metadata.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/datasets/dataset_metadata.dart -------------------------------------------------------------------------------- /client-ui/lib/model/datasets/dataset_metadata_search_result.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/datasets/dataset_metadata_search_result.dart -------------------------------------------------------------------------------- /client-ui/lib/model/datasets/entity_metadata.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/datasets/entity_metadata.dart -------------------------------------------------------------------------------- /client-ui/lib/model/devices/device.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/devices/device.dart -------------------------------------------------------------------------------- /client-ui/lib/model/devices/server_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/devices/server_state.dart -------------------------------------------------------------------------------- /client-ui/lib/model/formats.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/formats.dart -------------------------------------------------------------------------------- /client-ui/lib/model/operations/operation.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/operations/operation.dart -------------------------------------------------------------------------------- /client-ui/lib/model/operations/operation_progress.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/operations/operation_progress.dart -------------------------------------------------------------------------------- /client-ui/lib/model/operations/operation_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/operations/operation_state.dart -------------------------------------------------------------------------------- /client-ui/lib/model/operations/rule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/operations/rule.dart -------------------------------------------------------------------------------- /client-ui/lib/model/operations/specification_rules.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/operations/specification_rules.dart -------------------------------------------------------------------------------- /client-ui/lib/model/schedules/active_schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/schedules/active_schedule.dart -------------------------------------------------------------------------------- /client-ui/lib/model/schedules/schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/schedules/schedule.dart -------------------------------------------------------------------------------- /client-ui/lib/model/service/init_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/service/init_state.dart -------------------------------------------------------------------------------- /client-ui/lib/model/service/ping.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/service/ping.dart -------------------------------------------------------------------------------- /client-ui/lib/model/users/permission.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/users/permission.dart -------------------------------------------------------------------------------- /client-ui/lib/model/users/user.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/model/users/user.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/about.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/about.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/backup.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/backup.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/backup_entries.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/backup_entries.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/common/components.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/common/components.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/background_processes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/background_processes.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/backup_entry_metadata.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/backup_entry_metadata.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/client_not_configured_card.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/client_not_configured_card.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/context/context_menu.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/context/context_menu.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/context/entry_action.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/context/entry_action.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/credentials_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/credentials_form.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/dataset_definition_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/dataset_definition_summary.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/dataset_entry_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/dataset_entry_summary.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/entity_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/entity_form.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/extensions.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/extensions.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/file_tree.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/file_tree.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/boolean_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/boolean_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/dataset_entry_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/dataset_entry_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/date_time_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/date_time_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/duration_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/duration_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/file_size_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/file_size_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/policy_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/policy_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/forms/retention_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/forms/retention_field.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/invalid_config_file_card.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/invalid_config_file_card.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/operation_details.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/operation_details.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/operation_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/operation_summary.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/rendering.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/rendering.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/schedule_assignment_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/schedule_assignment_summary.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/schedule_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/schedule_summary.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/sizing.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/sizing.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/top_bar.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/top_bar.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/components/update_user_credentials_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/components/update_user_credentials_form.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/home.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/home.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/login.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/login.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/operations.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/operations.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/page_destinations.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/page_destinations.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/page_router.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/page_router.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/recover.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/recover.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/rules.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/rules.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/schedules.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/schedules.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/search.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/search.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/settings.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/settings.dart -------------------------------------------------------------------------------- /client-ui/lib/pages/status.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/pages/status.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/chrono_unit.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/chrono_unit.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/debouncer.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/debouncer.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/env.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/env.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/file_size_unit.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/file_size_unit.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/pair.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/pair.dart -------------------------------------------------------------------------------- /client-ui/lib/utils/triple.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/lib/utils/triple.dart -------------------------------------------------------------------------------- /client-ui/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /client-ui/linux/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/CMakeLists.txt -------------------------------------------------------------------------------- /client-ui/linux/flutter/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/flutter/CMakeLists.txt -------------------------------------------------------------------------------- /client-ui/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/flutter/generated_plugin_registrant.cc -------------------------------------------------------------------------------- /client-ui/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/flutter/generated_plugin_registrant.h -------------------------------------------------------------------------------- /client-ui/linux/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/flutter/generated_plugins.cmake -------------------------------------------------------------------------------- /client-ui/linux/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/main.cc -------------------------------------------------------------------------------- /client-ui/linux/my_application.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/my_application.cc -------------------------------------------------------------------------------- /client-ui/linux/my_application.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/linux/my_application.h -------------------------------------------------------------------------------- /client-ui/macos/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/.gitignore -------------------------------------------------------------------------------- /client-ui/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Flutter/Flutter-Debug.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Flutter/Flutter-Release.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Podfile -------------------------------------------------------------------------------- /client-ui/macos/Runner.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /client-ui/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /client-ui/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/AppDelegate.swift -------------------------------------------------------------------------------- /client-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /client-ui/macos/Runner/Base.lproj/MainMenu.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Base.lproj/MainMenu.xib -------------------------------------------------------------------------------- /client-ui/macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Configs/AppInfo.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Configs/Debug.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Configs/Release.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Configs/Warnings.xcconfig -------------------------------------------------------------------------------- /client-ui/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/DebugProfile.entitlements -------------------------------------------------------------------------------- /client-ui/macos/Runner/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Info.plist -------------------------------------------------------------------------------- /client-ui/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/MainFlutterWindow.swift -------------------------------------------------------------------------------- /client-ui/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/macos/Runner/Release.entitlements -------------------------------------------------------------------------------- /client-ui/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/pubspec.yaml -------------------------------------------------------------------------------- /client-ui/qa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/qa.py -------------------------------------------------------------------------------- /client-ui/test/api/api_client_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/api/api_client_test.dart -------------------------------------------------------------------------------- /client-ui/test/api/default_client_api_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/api/default_client_api_test.dart -------------------------------------------------------------------------------- /client-ui/test/api/default_init_api_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/api/default_init_api_test.dart -------------------------------------------------------------------------------- /client-ui/test/api/endpoint_context_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/api/endpoint_context_test.dart -------------------------------------------------------------------------------- /client-ui/test/config/api_token_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/config/api_token_test.dart -------------------------------------------------------------------------------- /client-ui/test/config/app_files_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/config/app_files_test.dart -------------------------------------------------------------------------------- /client-ui/test/config/config_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/config/config_test.dart -------------------------------------------------------------------------------- /client-ui/test/mocks/mock_api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/mocks/mock_api_client.dart -------------------------------------------------------------------------------- /client-ui/test/model/datasets/dataset_metadata_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/datasets/dataset_metadata_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/datasets/entity_metadata_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/datasets/entity_metadata_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/formats_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/formats_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/operations/operation_state_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/operations/operation_state_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/operations/operation_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/operations/operation_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/operations/rule_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/operations/rule_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/operations/specification_rules_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/operations/specification_rules_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/schedules/active_schedule_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/schedules/active_schedule_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/users/permission_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/users/permission_test.dart -------------------------------------------------------------------------------- /client-ui/test/model/users/user_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/model/users/user_test.dart -------------------------------------------------------------------------------- /client-ui/test/pages/manage/components/rendering_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/pages/manage/components/rendering_test.dart -------------------------------------------------------------------------------- /client-ui/test/resources/api_token: -------------------------------------------------------------------------------- 1 | test-token -------------------------------------------------------------------------------- /client-ui/test/resources/app_files/api-token: -------------------------------------------------------------------------------- 1 | test-token -------------------------------------------------------------------------------- /client-ui/test/resources/app_files/client.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/app_files/client.conf -------------------------------------------------------------------------------- /client-ui/test/resources/app_files/client.rules: -------------------------------------------------------------------------------- 1 | test-rules 2 | -------------------------------------------------------------------------------- /client-ui/test/resources/app_files/client.schedules: -------------------------------------------------------------------------------- 1 | test-schedules -------------------------------------------------------------------------------- /client-ui/test/resources/app_files/invalid/client.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/app_files/invalid/client.conf -------------------------------------------------------------------------------- /client-ui/test/resources/invalid.conf: -------------------------------------------------------------------------------- 1 | i = 2 | -------------------------------------------------------------------------------- /client-ui/test/resources/invalid.json: -------------------------------------------------------------------------------- 1 | i = 2 | -------------------------------------------------------------------------------- /client-ui/test/resources/localhost.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/localhost.p12 -------------------------------------------------------------------------------- /client-ui/test/resources/secret.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/secret.conf -------------------------------------------------------------------------------- /client-ui/test/resources/valid.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/valid.conf -------------------------------------------------------------------------------- /client-ui/test/resources/valid.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/resources/valid.json -------------------------------------------------------------------------------- /client-ui/test/utils/pair_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/utils/pair_test.dart -------------------------------------------------------------------------------- /client-ui/test/utils/triple_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client-ui/test/utils/triple_test.dart -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/README.md -------------------------------------------------------------------------------- /client/src/main/protobuf/metadata.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/protobuf/metadata.proto -------------------------------------------------------------------------------- /client/src/main/protobuf/state.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/protobuf/state.proto -------------------------------------------------------------------------------- /client/src/main/resources/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/resources/assets/logo.png -------------------------------------------------------------------------------- /client/src/main/resources/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/resources/assets/logo.svg -------------------------------------------------------------------------------- /client/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/resources/logback.xml -------------------------------------------------------------------------------- /client/src/main/resources/reference.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/resources/reference.conf -------------------------------------------------------------------------------- /client/src/main/resources/templates/client.conf.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/resources/templates/client.conf.template -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/Main.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/analysis/Checksum.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/analysis/Checksum.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/analysis/Metadata.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/analysis/Metadata.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/api/Context.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/api/Context.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/api/clients/Clients.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/api/clients/Clients.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/api/http/Formats.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/api/http/Formats.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/api/http/routes/User.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/api/http/routes/User.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/compression/Decoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/compression/Decoder.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/compression/Deflate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/compression/Deflate.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/compression/Encoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/compression/Encoder.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/compression/Gzip.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/compression/Gzip.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/compression/Identity.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/compression/Identity.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/encryption/Aes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/encryption/Aes.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/encryption/Decoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/encryption/Decoder.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/encryption/Encoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/encryption/Encoder.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/model/EntityMetadata.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/model/EntityMetadata.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/model/SourceEntity.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/model/SourceEntity.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/model/TargetEntity.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/model/TargetEntity.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/ops/Metrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/ops/Metrics.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/ops/backup/Backup.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/ops/backup/Backup.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/ops/backup/Providers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/ops/backup/Providers.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/ops/search/Search.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/ops/search/Search.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/service/Service.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/service/Service.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/staging/FileStaging.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/staging/FileStaging.scala -------------------------------------------------------------------------------- /client/src/main/scala/stasis/client/tracking/Trackers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/main/scala/stasis/client/tracking/Trackers.scala -------------------------------------------------------------------------------- /client/src/test/resources/analysis/digest-source-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/analysis/digest-source-file -------------------------------------------------------------------------------- /client/src/test/resources/analysis/metadata-source-file: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolor sit amet -------------------------------------------------------------------------------- /client/src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/application.conf -------------------------------------------------------------------------------- /client/src/test/resources/collection/file-1: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /client/src/test/resources/collection/file-2: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /client/src/test/resources/collection/file-3: -------------------------------------------------------------------------------- 1 | 333 -------------------------------------------------------------------------------- /client/src/test/resources/collection/other-file-1: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /client/src/test/resources/collection/other-file-2: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /client/src/test/resources/encryption/encrypted-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/encryption/encrypted-file -------------------------------------------------------------------------------- /client/src/test/resources/encryption/plaintext-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/encryption/plaintext-file -------------------------------------------------------------------------------- /client/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /client/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker : -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /client/src/test/resources/ops/large-source-file: -------------------------------------------------------------------------------- 1 | 95a4fffc-6830-4f34-b60d-2560c59631b4 -------------------------------------------------------------------------------- /client/src/test/resources/ops/nested/source-file-4: -------------------------------------------------------------------------------- 1 | source-file-4 -------------------------------------------------------------------------------- /client/src/test/resources/ops/nested/source-file-5: -------------------------------------------------------------------------------- 1 | source-file-5 -------------------------------------------------------------------------------- /client/src/test/resources/ops/processing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !empty 4 | -------------------------------------------------------------------------------- /client/src/test/resources/ops/processing/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/test/resources/ops/recovery/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !empty 4 | -------------------------------------------------------------------------------- /client/src/test/resources/ops/recovery/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/test/resources/ops/scheduling/extra.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/ops/scheduling/extra.rules -------------------------------------------------------------------------------- /client/src/test/resources/ops/scheduling/test.file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/ops/scheduling/test.file -------------------------------------------------------------------------------- /client/src/test/resources/ops/scheduling/test.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/ops/scheduling/test.rules -------------------------------------------------------------------------------- /client/src/test/resources/ops/scheduling/test.schedules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/client/src/test/resources/ops/scheduling/test.schedules -------------------------------------------------------------------------------- /client/src/test/resources/ops/source-file-1: -------------------------------------------------------------------------------- 1 | source-file-1 -------------------------------------------------------------------------------- /client/src/test/resources/ops/source-file-2: -------------------------------------------------------------------------------- 1 | source-file-2 -------------------------------------------------------------------------------- /client/src/test/resources/ops/source-file-3: -------------------------------------------------------------------------------- 1 | source-file-3 -------------------------------------------------------------------------------- /client/src/test/resources/ops/temp-file-1: -------------------------------------------------------------------------------- 1 | temp-file-1 -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/README.md -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/api/Formats.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/api/Formats.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/api/PoolClient.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/api/PoolClient.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/networking/Endpoint.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/networking/Endpoint.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/networking/EndpointAddress.scala: -------------------------------------------------------------------------------- 1 | package stasis.core.networking 2 | 3 | trait EndpointAddress 4 | -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/packaging/Crate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/packaging/Crate.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/packaging/Manifest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/packaging/Manifest.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/persistence/Metrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/persistence/Metrics.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/routing/DefaultRouter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/routing/DefaultRouter.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/routing/Metrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/routing/Metrics.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/routing/Node.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/routing/Node.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/routing/NodeProxy.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/routing/NodeProxy.scala -------------------------------------------------------------------------------- /core/src/main/scala/stasis/core/routing/Router.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/main/scala/stasis/core/routing/Router.scala -------------------------------------------------------------------------------- /core/src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/application.conf -------------------------------------------------------------------------------- /core/src/test/resources/certs/localhost.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/certs/localhost.jks -------------------------------------------------------------------------------- /core/src/test/resources/certs/localhost.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/certs/localhost.p12 -------------------------------------------------------------------------------- /core/src/test/resources/discovery-static-invalid.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/discovery-static-invalid.conf -------------------------------------------------------------------------------- /core/src/test/resources/discovery-static.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/discovery-static.conf -------------------------------------------------------------------------------- /core/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/resources/logback.xml -------------------------------------------------------------------------------- /core/src/test/scala/stasis/test/specs/unit/AsyncUnitSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/scala/stasis/test/specs/unit/AsyncUnitSpec.scala -------------------------------------------------------------------------------- /core/src/test/scala/stasis/test/specs/unit/UnitSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/core/src/test/scala/stasis/test/specs/unit/UnitSpec.scala -------------------------------------------------------------------------------- /deployment/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/.gitignore -------------------------------------------------------------------------------- /deployment/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/README.md -------------------------------------------------------------------------------- /deployment/dev/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/README.md -------------------------------------------------------------------------------- /deployment/dev/config/client.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/client.conf -------------------------------------------------------------------------------- /deployment/dev/config/client.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/client.rules -------------------------------------------------------------------------------- /deployment/dev/config/client.schedules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/client.schedules -------------------------------------------------------------------------------- /deployment/dev/config/grafana/dashboards/dashboard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/grafana/dashboards/dashboard.yml -------------------------------------------------------------------------------- /deployment/dev/config/grafana/datasources/datasource.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/grafana/datasources/datasource.yml -------------------------------------------------------------------------------- /deployment/dev/config/identity-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/identity-bootstrap.conf -------------------------------------------------------------------------------- /deployment/dev/config/prometheus-local/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/prometheus-local/prometheus.yml -------------------------------------------------------------------------------- /deployment/dev/config/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/prometheus/prometheus.yml -------------------------------------------------------------------------------- /deployment/dev/config/server-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/server-bootstrap.conf -------------------------------------------------------------------------------- /deployment/dev/config/server-discovery.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/config/server-discovery.conf -------------------------------------------------------------------------------- /deployment/dev/docker-compose-metrics.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/docker-compose-metrics.yml -------------------------------------------------------------------------------- /deployment/dev/docker-compose-no-auth-hash.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/docker-compose-no-auth-hash.yml -------------------------------------------------------------------------------- /deployment/dev/docker-compose-usesve.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/docker-compose-usesve.yml -------------------------------------------------------------------------------- /deployment/dev/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/docker-compose.yml -------------------------------------------------------------------------------- /deployment/dev/dockerfiles/client-cli.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/dockerfiles/client-cli.Dockerfile -------------------------------------------------------------------------------- /deployment/dev/scripts/client_install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/client_install.sh -------------------------------------------------------------------------------- /deployment/dev/scripts/client_uninstall.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/client_uninstall.sh -------------------------------------------------------------------------------- /deployment/dev/scripts/generate_artifacts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/generate_artifacts.py -------------------------------------------------------------------------------- /deployment/dev/scripts/generate_device_secret.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/generate_device_secret.py -------------------------------------------------------------------------------- /deployment/dev/scripts/generate_self_signed_cert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/generate_self_signed_cert.py -------------------------------------------------------------------------------- /deployment/dev/scripts/generate_user_password.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/generate_user_password.py -------------------------------------------------------------------------------- /deployment/dev/scripts/prepare_deployment.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/prepare_deployment.sh -------------------------------------------------------------------------------- /deployment/dev/scripts/run_smoke_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/dev/scripts/run_smoke_test.sh -------------------------------------------------------------------------------- /deployment/dev/secrets/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /deployment/grafana/dashboards/client/client-overview.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/client/client-overview.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/identity/identity-apis.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/identity/identity-apis.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/identity/identity-kv-stores.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/identity/identity-kv-stores.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/identity/identity-overview.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/identity/identity-overview.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/jvm/jvm-overview.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/jvm/jvm-overview.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/server/server-apis.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/server/server-apis.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/server/server-io.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/server/server-io.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/server/server-kv-stores.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/server/server-kv-stores.json -------------------------------------------------------------------------------- /deployment/grafana/dashboards/server/server-overview.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/grafana/dashboards/server/server-overview.json -------------------------------------------------------------------------------- /deployment/production/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/README.md -------------------------------------------------------------------------------- /deployment/production/bootstrap/identity.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/bootstrap/identity.conf -------------------------------------------------------------------------------- /deployment/production/bootstrap/server.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/bootstrap/server.conf -------------------------------------------------------------------------------- /deployment/production/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/docker-compose.yml -------------------------------------------------------------------------------- /deployment/production/local/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /deployment/production/scripts/client_install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/client_install.sh -------------------------------------------------------------------------------- /deployment/production/scripts/client_uninstall.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/client_uninstall.sh -------------------------------------------------------------------------------- /deployment/production/scripts/generate_cert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/generate_cert.py -------------------------------------------------------------------------------- /deployment/production/scripts/generate_user_password.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/generate_user_password.py -------------------------------------------------------------------------------- /deployment/production/scripts/server_create_device.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/server_create_device.sh -------------------------------------------------------------------------------- /deployment/production/scripts/server_create_user.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/server_create_user.sh -------------------------------------------------------------------------------- /deployment/production/scripts/server_delete_user.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/server_delete_user.sh -------------------------------------------------------------------------------- /deployment/production/scripts/server_get_bootstrap_code.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/server_get_bootstrap_code.sh -------------------------------------------------------------------------------- /deployment/production/scripts/server_prepare_deployment.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/scripts/server_prepare_deployment.sh -------------------------------------------------------------------------------- /deployment/production/secrets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/secrets/.gitignore -------------------------------------------------------------------------------- /deployment/production/secrets/templates/db-server.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/secrets/templates/db-server.env.template -------------------------------------------------------------------------------- /deployment/production/secrets/templates/identity.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/secrets/templates/identity.env.template -------------------------------------------------------------------------------- /deployment/production/secrets/templates/server-ui.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/secrets/templates/server-ui.env.template -------------------------------------------------------------------------------- /deployment/production/secrets/templates/server.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/secrets/templates/server.env.template -------------------------------------------------------------------------------- /deployment/production/telemetry/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/deployment/production/telemetry/prometheus/prometheus.yml -------------------------------------------------------------------------------- /identity-ui/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/.gitignore -------------------------------------------------------------------------------- /identity-ui/.metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/.metadata -------------------------------------------------------------------------------- /identity-ui/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/README.md -------------------------------------------------------------------------------- /identity-ui/analysis_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/analysis_options.yaml -------------------------------------------------------------------------------- /identity-ui/deployment/dev/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/.env -------------------------------------------------------------------------------- /identity-ui/deployment/dev/bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/bootstrap.conf -------------------------------------------------------------------------------- /identity-ui/deployment/dev/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/build.py -------------------------------------------------------------------------------- /identity-ui/deployment/dev/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/docker-compose.yml -------------------------------------------------------------------------------- /identity-ui/deployment/dev/run_browser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/run_browser.py -------------------------------------------------------------------------------- /identity-ui/deployment/dev/run_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/dev/run_server.py -------------------------------------------------------------------------------- /identity-ui/deployment/production/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/production/.env.template -------------------------------------------------------------------------------- /identity-ui/deployment/production/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/production/Dockerfile -------------------------------------------------------------------------------- /identity-ui/deployment/production/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/production/build.py -------------------------------------------------------------------------------- /identity-ui/deployment/production/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/production/entrypoint.sh -------------------------------------------------------------------------------- /identity-ui/deployment/production/nginx.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/deployment/production/nginx.template -------------------------------------------------------------------------------- /identity-ui/lib/api/api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/api/api_client.dart -------------------------------------------------------------------------------- /identity-ui/lib/api/default_api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/api/default_api_client.dart -------------------------------------------------------------------------------- /identity-ui/lib/api/oauth.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/api/oauth.dart -------------------------------------------------------------------------------- /identity-ui/lib/color_schemes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/color_schemes.dart -------------------------------------------------------------------------------- /identity-ui/lib/main.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/main.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/api.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/client.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/create_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/create_api.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/create_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/create_client.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/create_owner.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/create_owner.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/update_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/update_client.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/update_client_credentials.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/update_client_credentials.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/update_owner.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/update_owner.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/requests/update_owner_credentials.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/requests/update_owner_credentials.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/resource_owner.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/resource_owner.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/stored_authorization_code.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/stored_authorization_code.dart -------------------------------------------------------------------------------- /identity-ui/lib/model/stored_refresh_token.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/model/stored_refresh_token.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/authorize/authorization_callback.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/authorize/authorization_callback.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/authorize/authorize.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/authorize/authorize.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/authorize/credentials_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/authorize/credentials_form.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/authorize/derived_passwords.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/authorize/derived_passwords.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/default/components.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/default/components.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/default/home.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/default/home.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/default/not_found.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/default/not_found.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/apis.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/apis.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/clients.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/clients.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/codes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/codes.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/components/entity_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/components/entity_form.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/components/entity_table.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/components/entity_table.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/components/rendering.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/components/rendering.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/owners.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/owners.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/manage/tokens.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/manage/tokens.dart -------------------------------------------------------------------------------- /identity-ui/lib/pages/page_router.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/lib/pages/page_router.dart -------------------------------------------------------------------------------- /identity-ui/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/pubspec.yaml -------------------------------------------------------------------------------- /identity-ui/qa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/qa.py -------------------------------------------------------------------------------- /identity-ui/test/api/default_api_client_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/test/api/default_api_client_test.dart -------------------------------------------------------------------------------- /identity-ui/test/api/oauth_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/test/api/oauth_test.dart -------------------------------------------------------------------------------- /identity-ui/test/pages/authorize/derived_passwords_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/test/pages/authorize/derived_passwords_test.dart -------------------------------------------------------------------------------- /identity-ui/test/pages/manage/components/rendering_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/test/pages/manage/components/rendering_test.dart -------------------------------------------------------------------------------- /identity-ui/web/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/web/assets/logo.svg -------------------------------------------------------------------------------- /identity-ui/web/authorize/authorize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/web/authorize/authorize.js -------------------------------------------------------------------------------- /identity-ui/web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/web/index.html -------------------------------------------------------------------------------- /identity-ui/web/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity-ui/web/manifest.json -------------------------------------------------------------------------------- /identity/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/README.md -------------------------------------------------------------------------------- /identity/src/main/resources/example-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/resources/example-bootstrap.conf -------------------------------------------------------------------------------- /identity/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/resources/logback.xml -------------------------------------------------------------------------------- /identity/src/main/resources/reference.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/resources/reference.conf -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/Main.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/Formats.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/Formats.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/Jwks.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/Jwks.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/Manage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/Manage.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/OAuth.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/OAuth.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/manage/Apis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/manage/Apis.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/api/manage/Codes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/api/manage/Codes.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/model/GrantType.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/model/GrantType.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/model/Seconds.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/model/Seconds.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/model/apis/Api.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/model/apis/Api.scala -------------------------------------------------------------------------------- /identity/src/main/scala/stasis/identity/service/Service.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/main/scala/stasis/identity/service/Service.scala -------------------------------------------------------------------------------- /identity/src/test/resources/application-invalid-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/application-invalid-bootstrap.conf -------------------------------------------------------------------------------- /identity/src/test/resources/application-invalid-config.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/application-invalid-config.conf -------------------------------------------------------------------------------- /identity/src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/application.conf -------------------------------------------------------------------------------- /identity/src/test/resources/bootstrap-integration.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/bootstrap-integration.conf -------------------------------------------------------------------------------- /identity/src/test/resources/bootstrap-unit.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/bootstrap-unit.conf -------------------------------------------------------------------------------- /identity/src/test/resources/keys/ec.jwk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/keys/ec.jwk.json -------------------------------------------------------------------------------- /identity/src/test/resources/keys/oct.jwk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/keys/oct.jwk.json -------------------------------------------------------------------------------- /identity/src/test/resources/keys/rsa.jwk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/resources/keys/rsa.jwk.json -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/EncodingHelpers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/EncodingHelpers.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/RouteTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/RouteTest.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/api/FormatsSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/api/FormatsSpec.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/api/JwksSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/api/JwksSpec.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/api/ManageSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/api/ManageSpec.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/api/OAuthSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/api/OAuthSpec.scala -------------------------------------------------------------------------------- /identity/src/test/scala/stasis/identity/model/Generators.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/identity/src/test/scala/stasis/identity/model/Generators.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.11.2 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /proto/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/README.md -------------------------------------------------------------------------------- /proto/src/main/protobuf/commands.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/protobuf/commands.proto -------------------------------------------------------------------------------- /proto/src/main/protobuf/commands_aux_options.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/protobuf/commands_aux_options.proto -------------------------------------------------------------------------------- /proto/src/main/protobuf/common.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/protobuf/common.proto -------------------------------------------------------------------------------- /proto/src/main/protobuf/common_aux_options.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/protobuf/common_aux_options.proto -------------------------------------------------------------------------------- /proto/src/main/protobuf/stasis.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/protobuf/stasis.proto -------------------------------------------------------------------------------- /proto/src/main/scala/stasis/core/commands/proto/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/proto/src/main/scala/stasis/core/commands/proto/package.scala -------------------------------------------------------------------------------- /release.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/release.py -------------------------------------------------------------------------------- /server-ui/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/.gitignore -------------------------------------------------------------------------------- /server-ui/.metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/.metadata -------------------------------------------------------------------------------- /server-ui/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/README.md -------------------------------------------------------------------------------- /server-ui/analysis_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/analysis_options.yaml -------------------------------------------------------------------------------- /server-ui/deployment/dev/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/.env -------------------------------------------------------------------------------- /server-ui/deployment/dev/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/build.py -------------------------------------------------------------------------------- /server-ui/deployment/dev/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/docker-compose.yml -------------------------------------------------------------------------------- /server-ui/deployment/dev/identity-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/identity-bootstrap.conf -------------------------------------------------------------------------------- /server-ui/deployment/dev/run_browser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/run_browser.py -------------------------------------------------------------------------------- /server-ui/deployment/dev/run_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/run_server.py -------------------------------------------------------------------------------- /server-ui/deployment/dev/server-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/dev/server-bootstrap.conf -------------------------------------------------------------------------------- /server-ui/deployment/production/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/production/.env.template -------------------------------------------------------------------------------- /server-ui/deployment/production/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/production/Dockerfile -------------------------------------------------------------------------------- /server-ui/deployment/production/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/production/build.py -------------------------------------------------------------------------------- /server-ui/deployment/production/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/production/entrypoint.sh -------------------------------------------------------------------------------- /server-ui/deployment/production/nginx.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/deployment/production/nginx.template -------------------------------------------------------------------------------- /server-ui/lib/api/api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/api/api_client.dart -------------------------------------------------------------------------------- /server-ui/lib/api/bootstrap_api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/api/bootstrap_api_client.dart -------------------------------------------------------------------------------- /server-ui/lib/api/default_api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/api/default_api_client.dart -------------------------------------------------------------------------------- /server-ui/lib/api/derived_passwords.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/api/derived_passwords.dart -------------------------------------------------------------------------------- /server-ui/lib/api/oauth.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/api/oauth.dart -------------------------------------------------------------------------------- /server-ui/lib/color_schemes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/color_schemes.dart -------------------------------------------------------------------------------- /server-ui/lib/main.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/main.dart -------------------------------------------------------------------------------- /server-ui/lib/model/analytics/analytics_entry_event.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/analytics/analytics_entry_event.dart -------------------------------------------------------------------------------- /server-ui/lib/model/analytics/analytics_entry_failure.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/analytics/analytics_entry_failure.dart -------------------------------------------------------------------------------- /server-ui/lib/model/analytics/analytics_entry_summary.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/analytics/analytics_entry_summary.dart -------------------------------------------------------------------------------- /server-ui/lib/model/analytics/stored_analytics_entry.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/analytics/stored_analytics_entry.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/create_device_own.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/create_device_own.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/create_device_privileged.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/create_device_privileged.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/create_node.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/create_node.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/create_schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/create_schedule.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/create_user.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/create_user.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_device_limits.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_device_limits.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_device_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_device_state.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_node.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_node.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_schedule.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_user_limits.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_user_limits.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_user_password.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_user_password.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_user_permissions.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_user_permissions.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_user_salt.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_user_salt.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/requests/update_user_state.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/requests/update_user_state.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/created_device.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/created_device.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/created_node.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/created_node.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/created_schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/created_schedule.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/created_user.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/created_user.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/ping.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/ping.dart -------------------------------------------------------------------------------- /server-ui/lib/model/api/responses/updated_user_salt.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/api/responses/updated_user_salt.dart -------------------------------------------------------------------------------- /server-ui/lib/model/commands/command.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/commands/command.dart -------------------------------------------------------------------------------- /server-ui/lib/model/datasets/dataset_definition.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/datasets/dataset_definition.dart -------------------------------------------------------------------------------- /server-ui/lib/model/datasets/dataset_entry.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/datasets/dataset_entry.dart -------------------------------------------------------------------------------- /server-ui/lib/model/devices/device.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/devices/device.dart -------------------------------------------------------------------------------- /server-ui/lib/model/devices/device_bootstrap_code.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/devices/device_bootstrap_code.dart -------------------------------------------------------------------------------- /server-ui/lib/model/devices/device_key.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/devices/device_key.dart -------------------------------------------------------------------------------- /server-ui/lib/model/formats.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/formats.dart -------------------------------------------------------------------------------- /server-ui/lib/model/manifests/manifest.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/manifests/manifest.dart -------------------------------------------------------------------------------- /server-ui/lib/model/nodes/crate_store_descriptor.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/nodes/crate_store_descriptor.dart -------------------------------------------------------------------------------- /server-ui/lib/model/nodes/node.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/nodes/node.dart -------------------------------------------------------------------------------- /server-ui/lib/model/schedules/schedule.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/schedules/schedule.dart -------------------------------------------------------------------------------- /server-ui/lib/model/users/permission.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/users/permission.dart -------------------------------------------------------------------------------- /server-ui/lib/model/users/user.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/model/users/user.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/authorize/authorization_callback.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/authorize/authorization_callback.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/default/components.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/default/components.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/default/home.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/default/home.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/default/not_found.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/default/not_found.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/analytics.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/analytics.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/codes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/codes.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/commands.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/commands.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/entity_form.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/entity_form.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/entity_table.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/entity_table.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/extensions.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/extensions.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/forms/boolean_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/forms/boolean_field.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/forms/node_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/forms/node_field.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/forms/policy_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/forms/policy_field.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/forms/state_field.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/forms/state_field.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/components/rendering.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/components/rendering.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/definitions.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/definitions.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/device_keys.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/device_keys.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/devices.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/devices.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/entries.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/entries.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/nodes.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/nodes.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/reservations.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/reservations.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/schedules.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/schedules.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/manage/users.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/manage/users.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/page_destinations.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/page_destinations.dart -------------------------------------------------------------------------------- /server-ui/lib/pages/page_router.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/pages/page_router.dart -------------------------------------------------------------------------------- /server-ui/lib/utils/chrono_unit.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/utils/chrono_unit.dart -------------------------------------------------------------------------------- /server-ui/lib/utils/debouncer.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/utils/debouncer.dart -------------------------------------------------------------------------------- /server-ui/lib/utils/file_size_unit.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/utils/file_size_unit.dart -------------------------------------------------------------------------------- /server-ui/lib/utils/pair.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/utils/pair.dart -------------------------------------------------------------------------------- /server-ui/lib/utils/triple.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/lib/utils/triple.dart -------------------------------------------------------------------------------- /server-ui/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/pubspec.yaml -------------------------------------------------------------------------------- /server-ui/qa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/qa.py -------------------------------------------------------------------------------- /server-ui/test/api/api_client_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/api/api_client_test.dart -------------------------------------------------------------------------------- /server-ui/test/api/bootstrap_api_client_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/api/bootstrap_api_client_test.dart -------------------------------------------------------------------------------- /server-ui/test/api/default_api_client_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/api/default_api_client_test.dart -------------------------------------------------------------------------------- /server-ui/test/api/derived_passwords_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/api/derived_passwords_test.dart -------------------------------------------------------------------------------- /server-ui/test/api/oauth_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/api/oauth_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/api/requests/create_node_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/api/requests/create_node_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/devices/device_bootstrap_code_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/devices/device_bootstrap_code_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/formats_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/formats_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/nodes/crate_store_descriptor_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/nodes/crate_store_descriptor_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/nodes/node_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/nodes/node_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/schedules/schedule_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/schedules/schedule_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/users/permission_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/users/permission_test.dart -------------------------------------------------------------------------------- /server-ui/test/model/users/user_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/model/users/user_test.dart -------------------------------------------------------------------------------- /server-ui/test/pages/manage/components/rendering_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/test/pages/manage/components/rendering_test.dart -------------------------------------------------------------------------------- /server-ui/web/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/web/assets/logo.svg -------------------------------------------------------------------------------- /server-ui/web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/web/index.html -------------------------------------------------------------------------------- /server-ui/web/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server-ui/web/manifest.json -------------------------------------------------------------------------------- /server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/README.md -------------------------------------------------------------------------------- /server/src/main/resources/example-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/resources/example-bootstrap.conf -------------------------------------------------------------------------------- /server/src/main/resources/example-discovery-static.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/resources/example-discovery-static.conf -------------------------------------------------------------------------------- /server/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/resources/logback.xml -------------------------------------------------------------------------------- /server/src/main/resources/reference.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/resources/reference.conf -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/Main.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/ApiEndpoint.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/ApiEndpoint.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Analytics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Analytics.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/ApiRoutes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/ApiRoutes.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Devices.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Devices.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Manifests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Manifests.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Nodes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Nodes.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Schedules.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Schedules.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Service.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Service.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Staging.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Staging.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/api/routes/Users.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/api/routes/Users.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/security/CurrentUser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/security/CurrentUser.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/security/Resource.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/security/Resource.scala -------------------------------------------------------------------------------- /server/src/main/scala/stasis/server/service/Service.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/main/scala/stasis/server/service/Service.scala -------------------------------------------------------------------------------- /server/src/test/resources/application-device-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/application-device-bootstrap.conf -------------------------------------------------------------------------------- /server/src/test/resources/application-invalid-bootstrap.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/application-invalid-bootstrap.conf -------------------------------------------------------------------------------- /server/src/test/resources/application-invalid-config.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/application-invalid-config.conf -------------------------------------------------------------------------------- /server/src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/application.conf -------------------------------------------------------------------------------- /server/src/test/resources/bootstrap-integration.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/bootstrap-integration.conf -------------------------------------------------------------------------------- /server/src/test/resources/bootstrap-unit.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/resources/bootstrap-unit.conf -------------------------------------------------------------------------------- /server/src/test/scala/stasis/server/Secrets.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/scala/stasis/server/Secrets.scala -------------------------------------------------------------------------------- /server/src/test/scala/stasis/server/api/ApiEndpointSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/scala/stasis/server/api/ApiEndpointSpec.scala -------------------------------------------------------------------------------- /server/src/test/scala/stasis/server/api/routes/NodesSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/scala/stasis/server/api/routes/NodesSpec.scala -------------------------------------------------------------------------------- /server/src/test/scala/stasis/server/api/routes/UsersSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/scala/stasis/server/api/routes/UsersSpec.scala -------------------------------------------------------------------------------- /server/src/test/scala/stasis/server/service/ServiceSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/server/src/test/scala/stasis/server/service/ServiceSpec.scala -------------------------------------------------------------------------------- /shared/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/README.md -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/api/Formats.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/api/Formats.scala -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/api/responses/Ping.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/api/responses/Ping.scala -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/model/devices/Device.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/model/devices/Device.scala -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/model/users/User.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/model/users/User.scala -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/ops/Operation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/ops/Operation.scala -------------------------------------------------------------------------------- /shared/src/main/scala/stasis/shared/security/Permission.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/main/scala/stasis/shared/security/Permission.scala -------------------------------------------------------------------------------- /shared/src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sndnv/stasis/HEAD/shared/src/test/resources/application.conf -------------------------------------------------------------------------------- /version.sbt: -------------------------------------------------------------------------------- 1 | ThisBuild / version := "1.5.1-SNAPSHOT" 2 | --------------------------------------------------------------------------------