opswalrus 1.0.4 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +43 -0
- data/Gemfile.lock +8 -8
- data/LICENSE +277 -674
- data/README.md +16 -0
- data/build.ops +20 -0
- data/lib/opswalrus/app.rb +16 -39
- data/lib/opswalrus/bundler.rb +19 -12
- data/lib/opswalrus/git.rb +22 -0
- data/lib/opswalrus/host.rb +4 -3
- data/lib/opswalrus/operation_runner.rb +1 -1
- data/lib/opswalrus/ops_file.rb +21 -34
- data/lib/opswalrus/ops_file_script.rb +12 -5
- data/lib/opswalrus/package_file.rb +11 -2
- data/lib/opswalrus/runtime_environment.rb +34 -2
- data/lib/opswalrus/version.rb +1 -1
- data/lib/opswalrus/walrus_lang.rb +11 -2
- data/opswalrus.gemspec +18 -17
- metadata +35 -34
- data/lib/opswalrus/bootstrap_linux_host1.sh +0 -12
- data/lib/opswalrus/bootstrap_linux_host2.sh +0 -37
- data/lib/opswalrus/bootstrap_linux_host3.sh +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6a371b7cd41b84c0ea93f89180204ea580b2a8d20c9d8686639663e6bf31379
|
4
|
+
data.tar.gz: b27a653685068ba101cb89990a3fcd74b4eab39337f9592f35b9cc41f0014a48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5928f1f07bc4ddd13f630c3967a73a196ec21999cbc1cf5d30247bd24dbec940c7fe207ff37520158b787ef635a70b41add3c6f3614d1000881ddda509361f3d
|
7
|
+
data.tar.gz: e89db2ddc7e4b97dfcd2df4e01d2a525e0a5a8757283d1de2f136c8dd3fa64a4f04aa6daaf1efe81d812c622dc2572df996b19aa66dcb9cf664826b4c38a82b9
|
data/Dockerfile
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# This is modelled after https://github.com/mrsked/mrsk/blob/main/Dockerfile
|
2
|
+
|
3
|
+
# Use the official Ruby 3.2.0 Alpine image as the base image
|
4
|
+
FROM ruby:3.2.0-alpine
|
5
|
+
|
6
|
+
# Install docker/buildx-bin
|
7
|
+
COPY --from=docker/buildx-bin /buildx /usr/libexec/docker/cli-plugins/docker-buildx
|
8
|
+
|
9
|
+
# Set the working directory to /opswalrus
|
10
|
+
WORKDIR /opswalrus
|
11
|
+
|
12
|
+
# Copy the Gemfile, Gemfile.lock into the container
|
13
|
+
COPY Gemfile Gemfile.lock opswalrus.gemspec ./
|
14
|
+
|
15
|
+
# Required in opswalrus.gemspec
|
16
|
+
COPY lib/opswalrus/version.rb /opswalrus/lib/opswalrus/version.rb
|
17
|
+
|
18
|
+
# Install system dependencies
|
19
|
+
RUN apk add --no-cache --update build-base git docker openrc openssh-client-default \
|
20
|
+
&& rc-update add docker boot \
|
21
|
+
&& gem install bundler --version=2.4.3 \
|
22
|
+
&& bundle install
|
23
|
+
|
24
|
+
# Copy the rest of our application code into the container.
|
25
|
+
# We do this after bundle install, to avoid having to run bundle
|
26
|
+
# every time we do small fixes in the source code.
|
27
|
+
COPY . .
|
28
|
+
|
29
|
+
# Install the gem locally from the project folder
|
30
|
+
RUN gem build opswalrus.gemspec && \
|
31
|
+
gem install ./opswalrus-*.gem --no-document
|
32
|
+
|
33
|
+
# Set the working directory to /workdir
|
34
|
+
WORKDIR /workdir
|
35
|
+
|
36
|
+
# Tell git it's safe to access /workdir/.git even if
|
37
|
+
# the directory is owned by a different user
|
38
|
+
RUN git config --global --add safe.directory /workdir
|
39
|
+
|
40
|
+
# Set the entrypoint to run the installed binary in /workdir
|
41
|
+
# Example: docker run -it -v "$PWD:/workdir" ops
|
42
|
+
# ENTRYPOINT ["ops"]
|
43
|
+
CMD ["ops"]
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
opswalrus (1.0.
|
5
|
-
bcrypt_pbkdf
|
6
|
-
citrus
|
7
|
-
ed25519
|
8
|
-
git
|
9
|
-
gli
|
10
|
-
rubyzip
|
11
|
-
sshkit
|
4
|
+
opswalrus (1.0.6)
|
5
|
+
bcrypt_pbkdf (~> 1.1)
|
6
|
+
citrus (~> 3.0)
|
7
|
+
ed25519 (~> 1.3)
|
8
|
+
git (~> 1.18)
|
9
|
+
gli (~> 2.21)
|
10
|
+
rubyzip (~> 2.3)
|
11
|
+
sshkit (~> 1.21)
|
12
12
|
|
13
13
|
GEM
|
14
14
|
remote: https://rubygems.org/
|