Skip to content

Commit c4a5473

Browse files
committed
Provide Unix installation script
1 parent f993380 commit c4a5473

File tree

5 files changed

+312
-46
lines changed

5 files changed

+312
-46
lines changed

.ci/macos/release

100644100755
File mode changed.

.github/workflows/Release.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,23 @@ jobs:
150150
prefix: /artifacts
151151
region: us-east-1
152152
bucket: noelware
153+
publish-scripts:
154+
name: "CI / Publish Installation Scripts"
155+
runs-on: ubuntu-24.04
156+
needs: [binary]
157+
steps:
158+
- uses: actions/checkout@v4
159+
- uses: Noelware/s3-action@v2
160+
with:
161+
enforce-path-access-style: true
162+
access-key-id: ${{secrets.S3_ACCESS_KEY}}
163+
path-format: "$(prefix)/hazel/$(file)"
164+
directories: distribution/installation-scripts
165+
secret-key: ${{secrets.S3_SECRET_KEY}}
166+
endpoint: ${{secrets.S3_ENDPOINT}}
167+
prefix: /artifacts
168+
region: us-east-1
169+
bucket: noelware
153170
nix-build:
154171
name: "Build / Nix"
155172
runs-on: ubuntu-24.04

README.md

Lines changed: 10 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@ Hazel is Noelware's microservice to proxy our objects that we publish (like `art
1010

1111
## Installation
1212
### Install Script
13-
**WARNING** -- Please install the scripts first and audit them before running.
13+
> [!IMPORTANT]
14+
> Please install the scripts first and audit them before running.
1415
1516
```shell
1617
# Unix:
17-
$ curl -fsSL https://i.noelware.org/hazel | sh -
18+
$ curl -fsSL https://noelware.org/x/hazel | sh -
1819

1920
# Windows:
20-
$ irm https://i.noelware.org/hazel.ps1 | iex
21+
$ irm https://noelware.org/x/hazel.ps1 | iex
2122
```
2223

2324
### Docker
@@ -37,22 +38,21 @@ The image can consist with multiple tags for styles on how to deploy to your env
3738
> ```shell
3839
> $ docker volume create hazel
3940
> ```
40-
41-
> [!NOTE]
41+
>
4242
> You can substitute `hazel` with any volume name, but you will have to change `hazel` to the volume
4343
> name in later examples if you went with creating a volume with `docker volume`.
4444
>
4545
> For regular filesystem-mounted directories, you will need to change the ownership of the directory so
46-
> the server can read & write to it. You can use the `chown` command to do so:
46+
> the server can read and write to it. You can use the `chown` command to do so:
4747
>
4848
> ```shell
4949
> $ chown -R 1001:1001 <directory>
5050
> ```
5151
52-
Now, we can pull the image from [Noelware's Container Registry](https://docker.noelware.org):
52+
Now, we can pull the image from [Noelware's Container Registry](https://cr.noelware.cloud):
5353
5454
```shell
55-
$ docker pull docker.noelware.org/noelware/hazel
55+
$ docker pull cr.noelware.cloud/noelware/hazel
5656
```
5757
5858
Now, we can run the container!
@@ -62,7 +62,7 @@ Now, we can run the container!
6262
$ docker run -d -p 8989:8989 --name hazel \
6363
-e HAZEL_SERVER_NAME=my-hazel-instance \
6464
-v /var/lib/noelware/hazel/data:my-volume \
65-
docker.noelware.org/noelware/hazel
65+
cr.noelware.cloud/noelware/hazel
6666
```
6767
6868
### Helm Chart
@@ -77,43 +77,7 @@ On a NixOS machine, you can use the [`nixpkgs-noelware`] overlay to install a Ha
7777
}
7878
```
7979
80-
It'll use a filesystem mapping in `/var/lib/noelware/hazel/data`, but can be overwritten with `services.hazel.fsPath`.
81-
82-
<!--
83-
Now, we can pull the image from [Noelware's Container Registry](https://cr.noelware.cloud):
84-
85-
```shell
86-
$ docker pull cr.noelware.cloud/hazel/hazel
87-
```
88-
89-
Now, we can run the container!
90-
91-
```shell
92-
# Using -v is an optional step if you're not using the local
93-
# filesystem.
94-
$ docker run -d -p 8989:8989 --name hazel \
95-
-e HAZEL_SERVER_NAME=my-hazel-instance \
96-
cr.noelware.cloud/hazel/hazel
97-
```
98-
99-
### Helm
100-
Hazel does provide a Helm distribution, but it is not available as of yet!
101-
102-
## Configuration
103-
Hazel uses a standard YAML configuration file that can be used to configure the proxy, as **Hazel** is convention over configuration, it will proxy over the local filesystem under `/var/lib/noelware/hazel` on Linux or `$ROOT/.data` on other operating systems as there is no convention yet.
104-
105-
Hazel supports the local filesystem and Amazon S3 as Hazel is powered by the [remi-rs](https://github.com/Noelware/remi-rs) library.
106-
107-
<!--
108-
### Secure Strings
109-
To prevent leaking sensitive data in configuration files, you can embed environment variables to create a secure string, which will allow you to use the `${}` syntax to load up an environment variable and be used by that, like in Bash.
110-
111-
```yaml
112-
sentry_dsn: ${HAZEL_SENTRY_DSN:-}
113-
```
114-
115-
This will look-up the `HAZEL_SENTRY_DSN` environment variable, if it exists, the result will be the contents of the environment variable, otherwise it'll return "null" (or anything after `:-`).
116-
-->
80+
[`nixpkgs-noelware`]: https://github.com/Noelware/nixpkgs-noelware
11781
11882
## Contributing
11983
Thanks for considering contributing to **hazel**! Before you boop your heart out on your keyboard ✧ ─=≡Σ((( つ•̀ω•́)つ, we recommend you to do the following:
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env pwsh
2+
#
3+
# 🪶 Hazel: Easy to use read-only proxy to map objects to URLs
4+
# Copyright 2022-2025 Noelware, LLC. <[email protected]>
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.

0 commit comments

Comments
 (0)