This repo contains a DistributedActorSystem implementation, and is more a play ground for me to explore and experiment with the language feature and learn about distributed systems.
Is more of a client server setup. Where the server can make calls to the client well the connection is up but the client has to initiate the call.
Run the test with SSL enabled
swift test --traits SSL
View test coverage
swift test --enable-code-coverage
llvm-cov report .build/debug/butterflyPackageTests.xctest --instr-profile=.build/debug/codecov/default.profdata --ignore-filename-regex='(.build|Tests)[/\\].*' Trying to keep the project able to statically compile for Linux.
swift build --swift-sdk aarch64-swift-linux-musl
swift build --swift-sdk x86_64-swift-linux-musl
Generate keys for local testing
openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes \
-keyout key.pem -out cert.pem \
-subj "/CN=localhost" \
-addext "subjectAltName=DNS:localhost,IP:::1"
To configure SSL certificate paths, set the following environment variable:
SSL_CERT_CHAIN_PATH=cert.pem
SSL_PRIVATE_KEY_PATH=key.pem
Butterfly uses swift-configuration to load the certs.