guardship 0.2.0-amd64-freebsd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +95 -0
- data/exe/mothership +12 -0
- data/libexec/mothership +0 -0
- metadata +62 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 97711bf66111c592144081c6543991a44b5c6bf4bd8b2ba9f63265053674413b
|
|
4
|
+
data.tar.gz: 71fceda326f6790c7dc9a04643f5826b5aed24ceb71e33e3a836a8d67c520124
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: ea5cc9fb925923ee2a04cee9ddd07cd0604914d45784964931ee70289cf59a17e23e3d78dde62e5b7f62cbf6114d7c31ac126ccf2eddcdfc231496fc47c854b3
|
|
7
|
+
data.tar.gz: 2791c8d7daa8b304ccca73460c4e6278fcf7c97d451d7b023a9c4b3bc21cac70222956c25b71d68f3fa50c309e28b82594723ea2b37ff27337d4cca89e844961
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Abdelkader Boudih
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Guardship
|
|
2
|
+
|
|
3
|
+
Ruby wrapper and release packaging for [Mothership](https://github.com/seuros/mothership), the process supervisor with HTTP exposure.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
RubyGems should resolve the matching platform gem automatically on supported targets:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
gem install guardship
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The generic `guardship` gem is a stub. Platform-specific releases carry the bundled native `mothership` binary.
|
|
14
|
+
|
|
15
|
+
## What Is Included
|
|
16
|
+
|
|
17
|
+
- Stub gem:
|
|
18
|
+
- Ruby launcher only
|
|
19
|
+
- no bundled native binary
|
|
20
|
+
- Platform gems:
|
|
21
|
+
- `mothership` native binary under `libexec/`
|
|
22
|
+
- default feature set only
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
mothership --config mothership.toml
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If you install the stub gem directly on a platform without a matching packaged binary, the launcher will tell you that no bundled binary is present.
|
|
31
|
+
|
|
32
|
+
## Supported Platforms
|
|
33
|
+
|
|
34
|
+
- Linux: `x86_64-linux`, `aarch64-linux`
|
|
35
|
+
- macOS: `x86_64-darwin`, `arm64-darwin`
|
|
36
|
+
|
|
37
|
+
All packaged binaries are precompiled. No local Rust toolchain is required to run the gem.
|
|
38
|
+
|
|
39
|
+
## Release Workflow
|
|
40
|
+
|
|
41
|
+
The release build produces one stub gem and one platform gem for each supported target. Run it from the repository root after the Rust crate and gem versions have been bumped together.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
just build
|
|
45
|
+
cd gem
|
|
46
|
+
bundle exec rake gem:build
|
|
47
|
+
mise exec zig@0.17.0 -- bundle exec rake platforms:build
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`platforms:build` is the common ecosystem entry point for `gem:build_platforms`.
|
|
51
|
+
It compiles and packages every supported platform; it does not publish anything.
|
|
52
|
+
The full matrix needs a macOS host with the Apple SDK for both Darwin targets,
|
|
53
|
+
Rust/rustup, `cargo-zigbuild`, and Zig for Linux and FreeBSD. Missing Rust targets are
|
|
54
|
+
installed automatically, and a failed build stops packaging rather than
|
|
55
|
+
substituting a host binary.
|
|
56
|
+
|
|
57
|
+
Together with `gem:build`, these tasks build:
|
|
58
|
+
|
|
59
|
+
- `guardship-VERSION.gem`
|
|
60
|
+
- `guardship-VERSION-arm64-darwin.gem`
|
|
61
|
+
- `guardship-VERSION-x86_64-darwin.gem`
|
|
62
|
+
- `guardship-VERSION-aarch64-linux.gem`
|
|
63
|
+
- `guardship-VERSION-x86_64-linux.gem`
|
|
64
|
+
- `guardship-VERSION-amd64-freebsd.gem`
|
|
65
|
+
|
|
66
|
+
Linux platform gems are built with `cargo zigbuild` through the configured Zig toolchain. The task uses glibc-versioned targets by default:
|
|
67
|
+
|
|
68
|
+
- `x86_64-unknown-linux-gnu.2.36`
|
|
69
|
+
- `aarch64-unknown-linux-gnu.2.36`
|
|
70
|
+
|
|
71
|
+
The FreeBSD gem is cross-built for FreeBSD 15 and later: `libc` is compiled for
|
|
72
|
+
FreeBSD 15's struct layouts (`--cfg libc_unstable_freebsd_version="15"`; the
|
|
73
|
+
crate defaults to FreeBSD 12), and it links only symbol versions FreeBSD 15
|
|
74
|
+
provides. Its gem platform is `amd64-freebsd`, the CPU name FreeBSD's Ruby
|
|
75
|
+
reports, without a release so FreeBSD 16 matches too.
|
|
76
|
+
|
|
77
|
+
The glibc floor can be changed for a release with `GUARDSHIP_GLIBC_VERSION=2.xx`. Do not use the plain `*-unknown-linux-gnu` Zig targets for the local all-platform release; Rama DNS links resolver symbols such as `res_nquery` require the glibc-versioned target.
|
|
78
|
+
|
|
79
|
+
Publish after the artifacts are present:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
bundle exec rake gem:push
|
|
83
|
+
# or
|
|
84
|
+
bundle exec rake gem:push_all
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Documentation
|
|
88
|
+
|
|
89
|
+
- [Main Repository](https://github.com/seuros/mothership)
|
|
90
|
+
- [Configuration Guide](https://github.com/seuros/mothership#configuration)
|
|
91
|
+
- [API Documentation](https://docs.rs/mothership)
|
|
92
|
+
|
|
93
|
+
## License
|
|
94
|
+
|
|
95
|
+
MIT
|
data/exe/mothership
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
binary = File.expand_path("../libexec/mothership", __dir__)
|
|
5
|
+
|
|
6
|
+
unless File.file?(binary)
|
|
7
|
+
warn "guardship stub gem installed: no bundled mothership binary was found at #{binary}."
|
|
8
|
+
warn "Install a platform-specific guardship gem release, or use cargo install mothership."
|
|
9
|
+
exit 1
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
exec binary, *ARGV
|
data/libexec/mothership
ADDED
|
Binary file
|
metadata
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: guardship
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
platform: amd64-freebsd
|
|
6
|
+
authors:
|
|
7
|
+
- Abdelkader Boudih
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: rake
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '13.0'
|
|
19
|
+
type: :development
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '13.0'
|
|
26
|
+
description: Platform-specific Mothership gem with a bundled native binary.
|
|
27
|
+
email:
|
|
28
|
+
- oss@seuros.com
|
|
29
|
+
executables:
|
|
30
|
+
- mothership
|
|
31
|
+
extensions: []
|
|
32
|
+
extra_rdoc_files: []
|
|
33
|
+
files:
|
|
34
|
+
- LICENSE
|
|
35
|
+
- README.md
|
|
36
|
+
- exe/mothership
|
|
37
|
+
- libexec/mothership
|
|
38
|
+
homepage: https://github.com/seuros/mothership
|
|
39
|
+
licenses:
|
|
40
|
+
- MIT
|
|
41
|
+
metadata:
|
|
42
|
+
source_code_uri: https://github.com/seuros/mothership
|
|
43
|
+
changelog_uri: https://github.com/seuros/mothership/blob/master/CHANGELOG.md
|
|
44
|
+
rubygems_mfa_required: 'true'
|
|
45
|
+
rdoc_options: []
|
|
46
|
+
require_paths:
|
|
47
|
+
- lib
|
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
49
|
+
requirements:
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '4.0'
|
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
|
+
requirements:
|
|
55
|
+
- - ">="
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: '0'
|
|
58
|
+
requirements: []
|
|
59
|
+
rubygems_version: 4.0.10
|
|
60
|
+
specification_version: 4
|
|
61
|
+
summary: Mothership gem wrapper
|
|
62
|
+
test_files: []
|