You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/bluefin-dx.md
+18-18Lines changed: 18 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -15,25 +15,25 @@ Bluefin goes "all in" on cloud native development and is used differently than a
15
15
16
16
- Development is done in [devcontainers](https://containers.dev/)
17
17
- Command line applications are installed using [homebrew](https://brew.sh)
18
-
- Preconfigured ad-hoc containers for Ubuntu, Fedora, and Wolfi. Use whichever distribution you want.
18
+
- Preconfigured ad-hoc containers for Ubuntu, Fedora, and Wolfi are included. Use whichever distribution you want.
19
19
20
-
This differs from traditional distributions by making the development process operating system agnostic. There is no equivalent to `apt install php` on Bluefin, development is done with `podman` or `docker` directly via an IDE.
20
+
This differs from traditional distributions by making the development process operating system agnostic. There is no equivalent to `apt install php` on Bluefin; development is done with `podman` or `docker` directly via an IDE.
21
21
22
22
> We picked the cloud native pattern because local development in containers translates to deployment of containers on modern infrastructure.
The pattern in `bluefin-dx` (and `aurora-dx`) is centered around [devcontainers](https://containers.dev). Since the devcontainers live in the project's git repository, and they can deployed on any operating system, Linux, MacOS, or Windows (via WSL). This facilitates "distributed by default" development and avoids Linux users being "the odd one out" when working with teammates on other operating systems.
26
+
The pattern in `bluefin-dx` (and `aurora-dx`) is centered around [devcontainers](https://containers.dev). Since devcontainers live in the project's git repository, they can be deployed on any operating system: Linux, MacOS, or Windows (via WSL). This facilitates "distributed by default" development and avoids Linux users being "the odd one out" when working with teammates on other operating systems.
27
27
28
-
Each project has a declarative environment that is intended to be start the user with a "best practice" cloud-native workflow out of the box. The [Ultimate Guide to Dev Containers](https://www.daytona.io/dotfiles/ultimate-guide-to-dev-containers) has a good writeup of the advantages of using devcontainers. This means that the development environment is kept in version control instead of coupled to the host.
28
+
Each project includes a declarative environment intended to start the user with a "best practice" cloud-native workflow out of the box. The [Ultimate Guide to Dev Containers](https://www.daytona.io/dotfiles/ultimate-guide-to-dev-containers) has a good write-up on the advantages of using devcontainers. This means that the development environment is kept in version control instead of coupled to the host.
29
29
30
-
Homebrew can also be used for installation of development tools. However it is recommended to avoid that and declare the project's dependencies in version control. It's so easy sometimes, [it's okay](https://www.youtube.com/shorts/lKwavoyaaFA).
30
+
Homebrew can also be used to install development tools. However, it is recommended to avoid that and declare the project's dependencies in version control. It's so easy sometimes, [it's okay](https://www.youtube.com/shorts/lKwavoyaaFA).
31
31
32
-
> You can always use whatever you want, you do not need to use everything in here in order to be productive -- at the end of the day it's your computer, this is just a set of defaults.
32
+
> You can always use whatever you want. You do not need to use everything in here in order to be productive -- at the end of the day it's your computer and this is just a set of defaults.
33
33
34
34
# Enabling Developer Mode
35
35
36
-
Turning on developer mode is a twostep process:
36
+
Turning on developer mode is a two-step process:
37
37
38
38
## Step 1: Turn it on
39
39
@@ -51,7 +51,7 @@ Like all Universal Blue images, switching is atomic, allowing for clean switchin
51
51
52
52
## Visual Studio Code with Docker
53
53
54
-
[Visual Studio Code](https://code.visualstudio.com/) is included on the image as the default IDE. It comes with the [devcontainers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) already installed. It's the recommended developer experience, start here if you're new to containerized development!
54
+
[Visual Studio Code](https://code.visualstudio.com/) is included in the image as the default IDE. It comes with the [devcontainers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) already installed. It's the recommended developer experience, so start here if you're new to containerized development!
55
55
56
56
-[Dev Containers Documentation](https://code.visualstudio.com/docs/devcontainers/containers) - you can skip most of the installation instructions and go directly to [the tutorial](https://code.visualstudio.com/docs/devcontainers/tutorial#_install-the-extension)
@@ -63,7 +63,7 @@ The most current [Docker Engine](https://docs.docker.com/engine/) is included by
63
63
64
64
## Devpod
65
65
66
-
DevPod is an open source tool used to create reproducible developer environments. Each developer environment runs in a separate container and is specified through a `devcontainer.json`. Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost`docker`.
66
+
DevPod is an open source tool used to create reproducible developer environments. Each developer environment runs in a separate container and is specified through a `devcontainer.json` file. It's like Codespaces but is open-source, client-only, and unopinionated: it works with any IDE and lets you use any cloud, Kubernetes, or even local`docker` environment.
[Podman Desktop](https://podman-desktop.io/) is included to provide container management. Check out the Podman Desktop [documentation](https://podman-desktop.io/docs/intro) for more information. All the upstream `podman` tools are included. This is the default system container runtime, and is the recommended developer configuration that Fedora ships with.
81
+
[Podman Desktop](https://podman-desktop.io/) is included to provide container management. Check out the Podman Desktop [documentation](https://podman-desktop.io/docs/intro) for more information. All the upstream `podman` tools are included. This is the default system container runtime and is the recommended developer configuration that Fedora ships with.
82
82
83
-
> Though Bluefin defaults to docker and vscode for development, all of the Fedora upstream tools are included for those that prefer that experience.
83
+
> Though Bluefin defaults to docker and vscode for development, all of the Fedora upstream tools are included for those who prefer that experience.
84
84
85
-
## Builtin Performance Tooling
85
+
## Built-in Performance Tooling
86
86
87
87
[Sysprof](https://www.sysprof.com/) is included as a systemwide performance profiler. As well as [Brendan Gregg's](https://www.brendangregg.com/) recommended CLI tools:
88
88
@@ -93,7 +93,7 @@ Thanks to Ubuntu and Canonical for the [detailed specification](https://discours
93
93
## Quality of Life Improvements
94
94
95
95
-[Cockpit](https://cockpit-project.org/) for local and remote management
96
-
- A collection of wellcurated monospace fonts
96
+
- A collection of well-curated monospace fonts
97
97
-[Tailscale](https://universal-blue.discourse.group/t/tailscale-vpn-on-bluefin/290) for VPN
98
98
-[Just](https://github.com/casey/just) task runner for automation tasks
99
99
-`fish` and `zsh` available as optional shells
@@ -111,7 +111,7 @@ Thanks to Ubuntu and Canonical for the [detailed specification](https://discours
111
111
-[fzf](https://github.com/junegunn/fzf) for command line fuzzy finding
112
112
-[ripgrep](https://github.com/BurntSushi/ripgrep) for search
113
113
-[tealdeer](https://github.com/dbrgn/tealdeer) for `tldr`
114
-
-[television](https://github.com/alexpasmantier/television) - a blazing fast generalpurpose fuzzy finder TUI - (`tv`)
114
+
-[television](https://github.com/alexpasmantier/television) - a blazing fast general-purpose fuzzy finder TUI - (`tv`)
115
115
-[trash-cli](https://github.com/andreafrancia/trash-cli) to manage the system trashcan. (Strongly recommended for new CLI users)
116
116
-[ugrep](https://github.com/Genivia/ugrep) for grep
117
117
-[yq](https://github.com/mikefarah/yq) - for yaml, json, and xml processing
@@ -131,7 +131,7 @@ Use BoxBuddy's interface to create your own pet containers from whichever distri
@@ -178,4 +178,4 @@ Devpod also has support for JetBrains
178
178
179
179
-[virt-manager](https://virt-manager.org/) and associated tooling (KVM, qemu)
180
180
-[Incus](https://linuxcontainers.org/incus/) provides system containers
181
-
-[LXC](https://linuxcontainers.org/) and [LXD](https://ubuntu.com/lxd) are also provided for compatibility reasons, however these tools are deprecated and will be removed in Spring 2025
181
+
-[LXC](https://linuxcontainers.org/) and [LXD](https://ubuntu.com/lxd) are also provided for compatibility reasons, however, these tools are deprecated and will be removed in Spring 2025
0 commit comments