archsight 0.1.1 → 0.1.2
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 +4 -4
- data/Dockerfile +21 -22
- data/README.md +12 -7
- data/exe/archsight +3 -1
- data/lib/archsight/cli.rb +1 -0
- data/lib/archsight/version.rb +1 -1
- data/lib/archsight/web/doc/index.md.erb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5daf787a0535e787bb31a5abbe46e8da7621256e710dd59ec7328c116b988df4
|
|
4
|
+
data.tar.gz: e662425404ec865eef3701723135c103e688e43bb8d560708f936dd9021acd88
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c31f6486348cd3e4e2b3a8247071f3f1ddbe139b0cb20faeba51167122d860d74cf205128532d6184ac78a9eac5be64ccee28c41dec9fff094963d77e1ee34bc
|
|
7
|
+
data.tar.gz: cb36b1eb48ed9c44985925e2e54ffa7c74d66ee51ca0407882151db27ce34168f747dc9cb4aadbfe35c19d1fb5c5a1b3860741635a6a342a810faac926638885
|
data/Dockerfile
CHANGED
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
# Build stage
|
|
2
|
+
FROM ruby:4.0-alpine3.23 AS builder
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
RUN apk add --no-cache \
|
|
5
|
-
build-base \
|
|
6
|
-
git \
|
|
7
|
-
libffi-dev \
|
|
8
|
-
yaml-dev \
|
|
9
|
-
graphviz
|
|
4
|
+
RUN apk add --no-cache build-base git libffi-dev yaml-dev
|
|
10
5
|
|
|
11
|
-
# Set working directory
|
|
12
6
|
WORKDIR /app
|
|
7
|
+
COPY . .
|
|
8
|
+
|
|
9
|
+
# Build and install the gem
|
|
10
|
+
RUN gem build archsight.gemspec && \
|
|
11
|
+
gem install --no-document archsight-*.gem
|
|
13
12
|
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
COPY lib/archsight/version.rb lib/archsight/version.rb
|
|
13
|
+
# Runtime stage
|
|
14
|
+
FROM ruby:4.0-alpine3.23
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
RUN bundle install --jobs 4
|
|
16
|
+
RUN apk add --no-cache graphviz
|
|
20
17
|
|
|
21
|
-
# Copy
|
|
22
|
-
COPY
|
|
18
|
+
# Copy installed gems from builder (including default gems that were updated)
|
|
19
|
+
COPY --from=builder /usr/local/bundle /usr/local/bundle
|
|
20
|
+
COPY --from=builder /usr/local/lib/ruby/gems /usr/local/lib/ruby/gems
|
|
21
|
+
|
|
22
|
+
# Ensure Ruby finds gems in both /usr/local/bundle and default gems location
|
|
23
|
+
ENV GEM_HOME=/usr/local/bundle
|
|
24
|
+
ENV GEM_PATH=/usr/local/bundle:/usr/local/lib/ruby/gems/4.0.0
|
|
25
|
+
ENV PATH="/usr/local/bundle/bin:${PATH}"
|
|
23
26
|
|
|
24
|
-
# Create volume mount point for resources
|
|
25
27
|
RUN mkdir -p /resources
|
|
26
28
|
|
|
27
|
-
# Set resources directory environment variable
|
|
28
29
|
ENV ARCHSIGHT_RESOURCES_DIR=/resources
|
|
29
30
|
ENV APP_ENV=production
|
|
30
31
|
|
|
31
|
-
# Expose port for web server
|
|
32
32
|
EXPOSE 4567
|
|
33
33
|
|
|
34
|
-
# Health check
|
|
35
34
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
36
35
|
CMD wget --no-verbose --tries=1 --spider http://localhost:4567/ || exit 1
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
CMD ["
|
|
37
|
+
ENTRYPOINT ["archsight"]
|
|
38
|
+
CMD ["web", "--port", "4567"]
|
data/README.md
CHANGED
|
@@ -41,18 +41,23 @@ Access at: <http://localhost:4567>
|
|
|
41
41
|
### Option 2: Docker
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
|
|
45
|
-
docker run -p 4567:4567 -v "/path/to/resources:/resources" archsight
|
|
44
|
+
# Run web server (default)
|
|
45
|
+
docker run -p 4567:4567 -v "/path/to/resources:/resources" ghcr.io/ionos-cloud/archsight
|
|
46
|
+
|
|
47
|
+
# Run lint
|
|
48
|
+
docker run -v "/path/to/resources:/resources" ghcr.io/ionos-cloud/archsight lint -r /resources
|
|
49
|
+
|
|
50
|
+
# Run any command
|
|
51
|
+
docker run ghcr.io/ionos-cloud/archsight version
|
|
46
52
|
```
|
|
47
53
|
|
|
48
|
-
Access at: <http://localhost:4567>
|
|
54
|
+
Access web interface at: <http://localhost:4567>
|
|
49
55
|
|
|
50
56
|
**Notes:**
|
|
51
57
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- Health check verifies the service is running
|
|
58
|
+
- Volume mount `-v "/path/to/resources:/resources"` mounts your resources directory
|
|
59
|
+
- Default command starts the web server on port 4567
|
|
60
|
+
- Pass subcommands directly (lint, version, console, template)
|
|
56
61
|
|
|
57
62
|
## CLI Commands
|
|
58
63
|
|
data/exe/archsight
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
# Support running from source (development)
|
|
5
|
+
lib_path = File.expand_path("../lib", __dir__)
|
|
6
|
+
$LOAD_PATH.unshift(lib_path) if File.directory?(File.join(lib_path, "archsight"))
|
|
5
7
|
|
|
6
8
|
require "archsight"
|
|
7
9
|
require "archsight/cli"
|
data/lib/archsight/cli.rb
CHANGED
data/lib/archsight/version.rb
CHANGED
|
@@ -13,7 +13,7 @@ Welcome to the Architecture Documentation System. This documentation covers how
|
|
|
13
13
|
The following diagram shows all resource types organized by layer and their relationships:
|
|
14
14
|
|
|
15
15
|
```mermaid
|
|
16
|
-
<%= Documentation.generate_mermaid_diagram %>
|
|
16
|
+
<%= Archsight::Documentation.generate_mermaid_diagram %>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Resource Types
|