💫 Rebranding to embassyOS (#1851)

* name change to embassyOS

* filename change

* motd ASCII update

* some leftovers
This commit is contained in:
Mariusz Kogen
2022-10-03 20:13:48 +02:00
committed by GitHub
parent 719cd5512c
commit 2000a8f3ed
24 changed files with 52 additions and 52 deletions

View File

@@ -1,5 +1,5 @@
name: 🐛 Bug Report name: 🐛 Bug Report
description: Create a report to help us improve EmbassyOS description: Create a report to help us improve embassyOS
title: '[bug]: ' title: '[bug]: '
labels: [Bug, Needs Triage] labels: [Bug, Needs Triage]
assignees: assignees:
@@ -14,8 +14,8 @@ body:
required: true required: true
- type: input - type: input
attributes: attributes:
label: EmbassyOS Version label: embassyOS Version
description: What version of EmbassyOS are you running? description: What version of embassyOS are you running?
placeholder: e.g. 0.3.0 placeholder: e.g. 0.3.0
validations: validations:
required: true required: true

View File

@@ -1,5 +1,5 @@
name: 💡 Feature Request name: 💡 Feature Request
description: Suggest an idea for EmbassyOS description: Suggest an idea for embassyOS
title: '[feat]: ' title: '[feat]: '
labels: [Enhancement] labels: [Enhancement]
assignees: assignees:
@@ -27,7 +27,7 @@ body:
- type: textarea - type: textarea
attributes: attributes:
label: Describe Preferred Solution label: Describe Preferred Solution
description: How you want this feature added to EmbassyOS? description: How you want this feature added to embassyOS?
- type: textarea - type: textarea
attributes: attributes:
label: Describe Alternatives label: Describe Alternatives

View File

@@ -136,21 +136,21 @@ Enhancement suggestions are tracked as [GitHub issues](https://github.com/Start9
### Project Structure ### Project Structure
EmbassyOS is composed of the following components. Please visit the README for each component to understand the dependency requirements and installation instructions. embassyOS is composed of the following components. Please visit the README for each component to understand the dependency requirements and installation instructions.
- [`ui`](frontend/README.md) (Typescript Ionic Angular) is the code that is deployed to the browser to provide the user interface for EmbassyOS. - [`ui`](frontend/README.md) (Typescript Ionic Angular) is the code that is deployed to the browser to provide the user interface for embassyOS.
- [`backend`](backend/README.md) (Rust) is a command line utility, daemon, and software development kit that sets up and manages services and their environments, provides the interface for the ui, manages system state, and provides utilities for packaging services for EmbassyOS. - [`backend`](backend/README.md) (Rust) is a command line utility, daemon, and software development kit that sets up and manages services and their environments, provides the interface for the ui, manages system state, and provides utilities for packaging services for embassyOS.
- `patch-db` - A diff based data store that is used to synchronize data between the front and backend. - `patch-db` - A diff based data store that is used to synchronize data between the front and backend.
- Notably, `patch-db` has a [client](https://github.com/Start9Labs/patch-db/tree/master/client) with its own dependency and installation requirements. - Notably, `patch-db` has a [client](https://github.com/Start9Labs/patch-db/tree/master/client) with its own dependency and installation requirements.
- `rpc-toolkit` - A library for generating an rpc server with cli bindings from Rust functions. - `rpc-toolkit` - A library for generating an rpc server with cli bindings from Rust functions.
- `system-images` - (Docker, Rust) A suite of utility Docker images that are preloaded with EmbassyOS to assist with functions relating to services (eg. configuration, backups, health checks). - `system-images` - (Docker, Rust) A suite of utility Docker images that are preloaded with embassyOS to assist with functions relating to services (eg. configuration, backups, health checks).
- [`setup-wizard`](frontend/README.md)- Code for the user interface that is displayed during the setup and recovery process for EmbassyOS. - [`setup-wizard`](frontend/README.md)- Code for the user interface that is displayed during the setup and recovery process for embassyOS.
- [`diagnostic-ui`](frontend/README.md) - Code for the user interface that is displayed when something has gone wrong with starting up EmbassyOS, which provides helpful debugging tools. - [`diagnostic-ui`](frontend/README.md) - Code for the user interface that is displayed when something has gone wrong with starting up embassyOS, which provides helpful debugging tools.
### Your First Code Contribution ### Your First Code Contribution
#### Setting Up Your Development Environment #### Setting Up Your Development Environment
First, clone the EmbassyOS repository and from the project root, pull in the submodules for dependent libraries. First, clone the embassyOS repository and from the project root, pull in the submodules for dependent libraries.
```sh ```sh
git clone https://github.com/Start9Labs/embassy-os.git git clone https://github.com/Start9Labs/embassy-os.git
@@ -160,7 +160,7 @@ git submodule update --init --recursive
Depending on which component of the ecosystem you are interested in contributing to, follow the installation requirements listed in that component's README (linked [above](#project-structure)) Depending on which component of the ecosystem you are interested in contributing to, follow the installation requirements listed in that component's README (linked [above](#project-structure))
#### Building The Image #### Building The Image
This step is for setting up an environment in which to test your code changes if you do not yet have a EmbassyOS. This step is for setting up an environment in which to test your code changes if you do not yet have a embassyOS.
- Requirements - Requirements
- `ext4fs` (available if running on the Linux kernel) - `ext4fs` (available if running on the Linux kernel)
@@ -177,7 +177,7 @@ Contributions in the form of setup guides for integrations with external applica
## Styleguides ## Styleguides
### Formatting ### Formatting
Each component of EmbassyOS contains its own style guide. Code must be formatted with the formatter designated for each component. These are outlined within each component folder's README. Each component of embassyOS contains its own style guide. Code must be formatted with the formatter designated for each component. These are outlined within each component folder's README.
### Atomic Commits ### Atomic Commits
Commits [should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention) and diffs should be easy to read. Commits [should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention) and diffs should be easy to read.

View File

@@ -1,4 +1,4 @@
# EmbassyOS # embassyOS
[![version](https://img.shields.io/github/v/tag/Start9Labs/embassy-os?color=success)](https://github.com/Start9Labs/embassy-os/releases) [![version](https://img.shields.io/github/v/tag/Start9Labs/embassy-os?color=success)](https://github.com/Start9Labs/embassy-os/releases)
[![build](https://github.com/Start9Labs/embassy-os/actions/workflows/product.yaml/badge.svg)](https://github.com/Start9Labs/embassy-os/actions/workflows/product.yaml) [![build](https://github.com/Start9Labs/embassy-os/actions/workflows/product.yaml/badge.svg)](https://github.com/Start9Labs/embassy-os/actions/workflows/product.yaml)
[![community](https://img.shields.io/badge/community-matrix-yellow)](https://matrix.to/#/#community:matrix.start9labs.com) [![community](https://img.shields.io/badge/community-matrix-yellow)](https://matrix.to/#/#community:matrix.start9labs.com)
@@ -12,10 +12,10 @@
### _Welcome to the era of Sovereign Computing_ ### ### _Welcome to the era of Sovereign Computing_ ###
EmbassyOS is a browser-based, graphical operating system for a personal server. EmbassyOS facilitates the discovery, installation, network configuration, service configuration, data backup, dependency management, and health monitoring of self-hosted software services. It is the most advanced, secure, reliable, and user friendly personal server OS in the world. embassyOS is a browser-based, graphical operating system for a personal server. embassyOS facilitates the discovery, installation, network configuration, service configuration, data backup, dependency management, and health monitoring of self-hosted software services. It is the most advanced, secure, reliable, and user friendly personal server OS in the world.
## Running EmbassyOS ## Running embassyOS
There are multiple ways to get your hands on EmbassyOS. There are multiple ways to get your hands on embassyOS.
### :moneybag: Buy an Embassy ### :moneybag: Buy an Embassy
This is the most convenient option. Simply [buy an Embassy](https://start9.com) from Start9 and plug it in. Depending on where you live, shipping costs and import duties will vary. This is the most convenient option. Simply [buy an Embassy](https://start9.com) from Start9 and plug it in. Depending on where you live, shipping costs and import duties will vary.
@@ -29,17 +29,17 @@ While not as convenient as buying an Embassy, this option is easier than you mig
To pursue this option, follow this [guide](https://start9.com/latest/diy). To pursue this option, follow this [guide](https://start9.com/latest/diy).
### :hammer_and_wrench: Build EmbassyOS from Source ### :hammer_and_wrench: Build embassyOS from Source
EmbassyOS can be built from source, for personal use, for free. embassyOS can be built from source, for personal use, for free.
A detailed guide for doing so can be found [here](https://github.com/Start9Labs/embassy-os/blob/master/build/README.md). A detailed guide for doing so can be found [here](https://github.com/Start9Labs/embassy-os/blob/master/build/README.md).
## :heart: Contributing ## :heart: Contributing
There are multiple ways to contribute: work directly on EmbassyOS, package a service for the marketplace, or help with documentation and guides. To learn more about contributing, see [here](https://github.com/Start9Labs/embassy-os/blob/master/CONTRIBUTING.md). There are multiple ways to contribute: work directly on embassyOS, package a service for the marketplace, or help with documentation and guides. To learn more about contributing, see [here](https://github.com/Start9Labs/embassy-os/blob/master/CONTRIBUTING.md).
## UI Screenshots ## UI Screenshots
<p align="center"> <p align="center">
<img src="assets/EmbassyOS.png" alt="EmbassyOS" width="65%"> <img src="assets/embassyOS.png" alt="embassyOS" width="65%">
</p> </p>
<p align="center"> <p align="center">
<img src="assets/eos-services.png" alt="Embassy Services" width="45%"> <img src="assets/eos-services.png" alt="Embassy Services" width="45%">

View File

Before

Width:  |  Height:  |  Size: 285 KiB

After

Width:  |  Height:  |  Size: 285 KiB

View File

@@ -1,4 +1,4 @@
# EmbassyOS Backend # embassyOS Backend
- Requirements: - Requirements:
- [Install Rust](https://rustup.rs) - [Install Rust](https://rustup.rs)
@@ -12,9 +12,9 @@
## Structure ## Structure
The EmbassyOS backend is broken up into 4 different binaries: The embassyOS backend is broken up into 4 different binaries:
- embassyd: This is the main workhorse of EmbassyOS - any new functionality you want will likely go here - embassyd: This is the main workhorse of embassyOS - any new functionality you want will likely go here
- embassy-init: This is the component responsible for allowing you to set up your device, and handles system initialization on startup - embassy-init: This is the component responsible for allowing you to set up your device, and handles system initialization on startup
- embassy-cli: This is a CLI tool that will allow you to issue commands to embassyd and control it similarly to the UI - embassy-cli: This is a CLI tool that will allow you to issue commands to embassyd and control it similarly to the UI
- embassy-sdk: This is a CLI tool that aids in building and packaging services you wish to deploy to the Embassy - embassy-sdk: This is a CLI tool that aids in building and packaging services you wish to deploy to the Embassy
@@ -25,7 +25,7 @@ See [here](/backend/Cargo.toml) for details.
## Building ## Building
You can build the entire operating system image using `make` from the root of the EmbassyOS project. This will subsequently invoke the build scripts above to actually create the requisite binaries and put them onto the final operating system image. You can build the entire operating system image using `make` from the root of the embassyOS project. This will subsequently invoke the build scripts above to actually create the requisite binaries and put them onto the final operating system image.
## Questions ## Questions

View File

@@ -767,7 +767,7 @@ pub async fn download_install_s9pk(
for (p, lan) in cfg { for (p, lan) in cfg {
if p.0 == 80 && lan.ssl || p.0 == 443 && !lan.ssl { if p.0 == 80 && lan.ssl || p.0 == 443 && !lan.ssl {
return Err(Error::new( return Err(Error::new(
eyre!("SSL Conflict with EmbassyOS"), eyre!("SSL Conflict with embassyOS"),
ErrorKind::LanPortConflict, ErrorKind::LanPortConflict,
)); ));
} }

View File

@@ -484,7 +484,7 @@ async fn recover(
.await? .await?
} else { } else {
return Err(Error::new( return Err(Error::new(
eyre!("Unsupported version of EmbassyOS: {}", recovery_version), eyre!("Unsupported version of embassyOS: {}", recovery_version),
crate::ErrorKind::VersionIncompatible, crate::ErrorKind::VersionIncompatible,
)); ));
}; };

View File

@@ -17,7 +17,7 @@ pub struct LatestInformation {
/// Captured from https://beta-registry-0-3.start9labs.com/eos/latest 2021-09-24 /// Captured from https://beta-registry-0-3.start9labs.com/eos/latest 2021-09-24
#[test] #[test]
fn latest_information_from_server() { fn latest_information_from_server() {
let data_from_server = r#"{"release-notes":{"0.3.0":"This major software release encapsulates the optimal performance, security, and management enhancments to the EmbassyOS experience."},"headline":"Major EmbassyOS release","version":"0.3.0"}"#; let data_from_server = r#"{"release-notes":{"0.3.0":"This major software release encapsulates the optimal performance, security, and management enhancments to the embassyOS experience."},"headline":"Major embassyOS release","version":"0.3.0"}"#;
let latest_information: LatestInformation = serde_json::from_str(data_from_server).unwrap(); let latest_information: LatestInformation = serde_json::from_str(data_from_server).unwrap();
assert_eq!(latest_information.version.minor(), 3); assert_eq!(latest_information.version.minor(), 3);
} }

View File

@@ -215,7 +215,7 @@ async fn maybe_do_update(
&mut db, &mut db,
None, None,
NotificationLevel::Error, NotificationLevel::Error,
"EmbassyOS Update Failed".to_owned(), "embassyOS Update Failed".to_owned(),
format!("Update was not successful because of {}", e), format!("Update was not successful because of {}", e),
(), (),
None, None,

View File

@@ -2,14 +2,14 @@
printf "\n" printf "\n"
printf "Welcome to\n" printf "Welcome to\n"
cat << "ASCII" cat << "ASCII"
,---. | ,---.,---. | ,---.,---.
|--- ,-.-.|---.,---.,---.,---., .| |`---. ,---.,-.-.|---.,---.,---.,---., .| |`---.
| | | || |,---|`---.`---.| || | | |---'| | || |,---|`---.`---.| || | |
`---'` ' '`---'`---^`---'`---'`---|`---'`---' `---'` ' '`---'`---^`---'`---'`---|`---'`---'
`---' `---'
ASCII ASCII
printf " %s (%s %s)\n" "$(uname -o)" "$(uname -r)" "$(uname -m)" printf " %s (%s %s)\n" "$(uname -o)" "$(uname -r)" "$(uname -m)"
printf " $(embassy-cli --version | sed 's/Embassy CLI /EmbassyOS v/g') - $(embassy-cli git-info)\n" printf " $(embassy-cli --version | sed 's/Embassy CLI /embassyOS v/g') - $(embassy-cli git-info)\n"
printf "\n" printf "\n"
printf " * Documentation: https://start9.com\n" printf " * Documentation: https://start9.com\n"

View File

@@ -55,7 +55,7 @@ sudo sed -i 's/raspberrypi/embassy/g' /tmp/eos-mnt/etc/hosts
# copy over cargo dependencies # copy over cargo dependencies
sudo cp cargo-deps/aarch64-unknown-linux-gnu/release/nc-broadcast /tmp/eos-mnt/usr/local/bin sudo cp cargo-deps/aarch64-unknown-linux-gnu/release/nc-broadcast /tmp/eos-mnt/usr/local/bin
# Enter the backend directory, copy over the built EmbassyOS binaries and systemd services, edit the nginx config, then create the .ssh directory # Enter the backend directory, copy over the built embassyOS binaries and systemd services, edit the nginx config, then create the .ssh directory
cd backend/ cd backend/
sudo cp target/aarch64-unknown-linux-gnu/release/embassy-init /tmp/eos-mnt/usr/local/bin sudo cp target/aarch64-unknown-linux-gnu/release/embassy-init /tmp/eos-mnt/usr/local/bin

View File

@@ -1,10 +1,10 @@
# EmbassyOS Frontend # embassyOS Frontend
EmbassyOS has three user interfaces and a shared library, all written in Ionic/Angular/Typescript using an Angular workspace environment: embassyOS has three user interfaces and a shared library, all written in Ionic/Angular/Typescript using an Angular workspace environment:
1. **ui**: the main user interface 1. **ui**: the main user interface
1. **setup-wizard**: used to facilitate initial setup 1. **setup-wizard**: used to facilitate initial setup
1. **diagnostic-ui**: used to display certain diagnostic information in the event EmbassyOS fails to initialize 1. **diagnostic-ui**: used to display certain diagnostic information in the event embassyOS fails to initialize
1. **marketplace**: abstracted ui elements to search for, list and display details for packages and their dependencies 1. **marketplace**: abstracted ui elements to search for, list and display details for packages and their dependencies
1. **shared**: contains components, types, and functions shared amongst all of the UIs. 1. **shared**: contains components, types, and functions shared amongst all of the UIs.

View File

@@ -5,7 +5,7 @@
class="ion-text-center" class="ion-text-center"
style="padding-bottom: 36px; font-size: calc(2vw + 14px)" style="padding-bottom: 36px; font-size: calc(2vw + 14px)"
> >
EmbassyOS - Diagnostic Mode embassyOS - Diagnostic Mode
</h1> </h1>
<h2 <h2
style=" style="
@@ -14,7 +14,7 @@
font-weight: bold; font-weight: bold;
" "
> >
EmbassyOS launch error: embassyOS launch error:
</h2> </h2>
<div class="code-block"> <div class="code-block">
<code> <code>

View File

@@ -41,7 +41,7 @@ export class HomePage {
code: 20, code: 20,
problem: 'Storage drive not found', problem: 'Storage drive not found',
solution: solution:
'Insert your EmbassyOS storage drive and click RESTART EMBASSY below.', 'Insert your embassyOS storage drive and click RESTART EMBASSY below.',
details: error.data?.details, details: error.data?.details,
} }
// drive corrupted // drive corrupted

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>EmbassyOS Diagnostic UI</title> <title>embassyOS Diagnostic UI</title>
<base href="/" /> <base href="/" />

View File

@@ -33,7 +33,7 @@
</p> </p>
<p *ngIf="option['newer-eos']"> <p *ngIf="option['newer-eos']">
<ion-text color="danger"> <ion-text color="danger">
Unavailable. Backup was made on a newer version of EmbassyOS. Unavailable. Backup was made on a newer version of embassyOS.
</ion-text> </ion-text>
</p> </p>
</ion-label> </ion-label>

View File

@@ -2,7 +2,7 @@
<ion-toolbar> <ion-toolbar>
<div style="padding: 10px 0"> <div style="padding: 10px 0">
<ion-title style="font-size: 32px" <ion-title style="font-size: 32px"
>EmbassyOS {{ versions[0].version }}</ion-title >embassyOS {{ versions[0].version }}</ion-title
> >
<div class="underline"></div> <div class="underline"></div>
<ion-title> <ion-title>

View File

@@ -46,7 +46,7 @@ export function getBasicInfoSpec(devData: DevProjectData): ConfigSpec {
type: 'string', type: 'string',
name: 'Service Version', name: 'Service Version',
description: description:
'Service version - accepts up to four digits, where the last confirms to revisions necessary for EmbassyOS - see documentation: https://github.com/Start9Labs/emver-rs. This value will change with each release of the service', 'Service version - accepts up to four digits, where the last confirms to revisions necessary for embassyOS - see documentation: https://github.com/Start9Labs/emver-rs. This value will change with each release of the service',
placeholder: 'e.g. 0.1.2.3', placeholder: 'e.g. 0.1.2.3',
nullable: false, nullable: false,
masked: false, masked: false,

View File

@@ -63,7 +63,7 @@ export class ServerShowPage {
const alert = await this.alertCtrl.create({ const alert = await this.alertCtrl.create({
header: 'Cannot Update', header: 'Cannot Update',
message: message:
'You cannot update EmbassyOS when you have unresolved recovered services.', 'You cannot update embassyOS when you have unresolved recovered services.',
buttons: ['OK'], buttons: ['OK'],
}) })
await alert.present() await alert.present()
@@ -283,7 +283,7 @@ export class ServerShowPage {
private async presentAlertLatest() { private async presentAlertLatest() {
const alert = await this.alertCtrl.create({ const alert = await this.alertCtrl.create({
header: 'Up to date!', header: 'Up to date!',
message: 'You are on the latest version of EmbassyOS.', message: 'You are on the latest version of embassyOS.',
buttons: [ buttons: [
{ {
text: 'OK', text: 'OK',
@@ -335,7 +335,7 @@ export class ServerShowPage {
Settings: [ Settings: [
{ {
title: 'Software Update', title: 'Software Update',
description: 'Get the latest version of EmbassyOS', description: 'Get the latest version of embassyOS',
icon: 'cog-outline', icon: 'cog-outline',
action: () => action: () =>
this.eosService.updateAvailable$.getValue() this.eosService.updateAvailable$.getValue()

View File

@@ -13,7 +13,7 @@
<ion-item-group *ngIf="server$ | async as server"> <ion-item-group *ngIf="server$ | async as server">
<ion-item> <ion-item>
<ion-label> <ion-label>
<h2>EmbassyOS Version</h2> <h2>embassyOS Version</h2>
<p>{{ server.version | displayEmver }}</p> <p>{{ server.version | displayEmver }}</p>
</ion-label> </ion-label>
</ion-item> </ion-item>

View File

@@ -131,7 +131,7 @@ export class LiveApiService extends ApiService {
return this.rpcRequest({ method: 'server.update', params }) return this.rpcRequest({ method: 'server.update', params })
// const res = await this.updateServer(params) // const res = await this.updateServer(params)
// if (res.response === 'no-updates') { // if (res.response === 'no-updates') {
// throw new Error('Could not find a newer version of EmbassyOS') // throw new Error('Could not find a newer version of embassyOS')
// } // }
// return res // return res
} }

View File

@@ -113,7 +113,7 @@ export const serverConfig: ConfigSpec = {
type: 'boolean', type: 'boolean',
name: 'Auto Check for Updates', name: 'Auto Check for Updates',
description: description:
'If enabled, EmbassyOS will automatically check for updates of itself and installed services. Updating will still require your approval and action. Updates will never be performed automatically.', 'If enabled, embassyOS will automatically check for updates of itself and installed services. Updating will still require your approval and action. Updates will never be performed automatically.',
default: true, default: true,
}, },
} }

View File

@@ -9,7 +9,7 @@
</style> </style>
</head> </head>
<body> <body>
<h2 style="color: #e0e0e0; text-align: center; padding-top: 20px;">EmbassyOS is initializing...</h2> <h2 style="color: #e0e0e0; text-align: center; padding-top: 20px;">embassyOS is initializing...</h2>
<p style="color: #e0e0e0; text-align: center;">This process can take up to several minutes to complete. Please wait to refresh the page.</p> <p style="color: #e0e0e0; text-align: center;">This process can take up to several minutes to complete. Please wait to refresh the page.</p>
</body> </body>
</html> </html>