Skip to content

Can I export to PUML from a DSL file while being offline? #146

@VAndreasKrauss

Description

@VAndreasKrauss

Question

Hey,

At first, thanks for developing on the C4model and its graphical visualization layer. I like the kind of abstractions and try to introduce them into our team.

Therefore, I want to use the structurizr CLI in a docker image for local development and within-CI processing.
My plan was to export the JSON/DSL file in the CI pipeline to always have the most up to date graphs from the source.
While this works quite good when developing a documentation locally, the Github CI container has no internet access and throws an HttpHostConnectException.

org.apache.hc.client5.http.HttpHostConnectException: Connect to [https://static.structurizr.com:443](https://static.structurizr.com/) [static.structurizr.com/172.67.223.154, static.structurizr.com/104.21.54.48] failed: Operation timed out
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:633)
	at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.lambda$connectSocket$0(SSLConnectionSocketFactory.java:232)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:231)
	at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:181)
	at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:447)
	at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:162)
	at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:172)
	at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:142)
	at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:192)
	at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96)
	at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:152)
	at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:[11](https://github1.vg.vector.int/pnd/autosar-dsl/actions/runs/962121/job/3108345#step:4:12)5)
	at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)
	at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:[12](https://github1.vg.vector.int/pnd/autosar-dsl/actions/runs/962121/job/3108345#step:4:13)3)
	at com.structurizr.view.ThemeUtils.loadThemes(ThemeUtils.java:74)
	at com.structurizr.cli.export.ExportCommand.run(ExportCommand.java:[14](https://github1.vg.vector.int/pnd/autosar-dsl/actions/runs/962121/job/3108345#step:4:15)1)
	at com.structurizr.cli.StructurizrCliApplication.run(StructurizrCliApplication.java:77)
	at com.structurizr.cli.StructurizrCliApplication.main(StructurizrCliApplication.java:112)

Is there a way to run structurizr export from a DSL or a JSON file without having internet access? Do I need to setup further services within the image to do that? E.g., a structurizr server?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions