Encrypt secrets and pass them into Swift applications
• Install • Usage • Contributing
Features
Install
The primary intention was to use Cloak Swift as a Tuist plugin, however, it can also be used as a standard CLI tool as well.
▶︎ ? As a Tuist Plugin
To set up as a Tuist plugin in your project simply follow the Tuist plugin install instructions using the latest version.
Add the plugin to Config.swift
.
import ProjectDescription
let config = Config(
plugins: [
.git(url: "https://github.com/lordcodes/cloak-swift.git", tag: "{ENTER_LATEST_VERSION}")
]
)
▶︎ ? Standalone via Swift Package Manager
Cloak Swift can be easily installed globally using Swift Package Manager.
git clone https://github.com/lordcodes/cloak-swift
cd cloak-swift
make install
This will install cloakswift into /usr/local/bin
. If you get a permission error it may be that you don’t have permission to write there in which case you just need to adjust permissions using sudo chown -R $(whoami) /usr/local/bin
.
You can uninstall it again using make uninstall
which simply deletes it from /usr/local/bin
.
▶︎ ? Homebrew
Support for Homebrew may be planned in the future.
▶︎ ? As a Swift package
To install Cloak Swift for use in your own Swift code, add it is a Swift Package Manager dependency within your Package.swift
file. For help in doing this, please check out the Swift Package Manager documentation.
.package(url: "https://github.com/lordcodes/cloak-swift", exact: "0.0.1")
Usage
? Via the Tuist Plugin
Ensure you have fetched with tuist fetch
and you will then be able to run the plugin’s tasks.
USAGE: tuist cloak <createkey|version> [-q|--quiet]
ARGUMENTS:
<createkey> Create encryption key.
<version> Prints out the current version of the tool.
OPTIONS:
-q, --quiet Silence any output except errors
? Via the Standalone CLI
USAGE: cloakswift <createkey|version> [-q|--quiet]
ARGUMENTS:
<createkey> Create encryption key.
<version> Prints out the current version of the tool.
OPTIONS:
-q, --quiet Silence any output except errors
? As a Swift Package
To use Cloak Swift within your own Swift code, import and use the public API of CloakKit
.
import CloakKit
// Configure printing
Cloak.configuration.printer = ConsolePrinter(quiet: false)
// Create key
EncryptionService().createKey()
Contributing or Help
If you notice any bugs or have a new feature to suggest, please check out the contributing guide. If you want to make changes, please make sure to discuss anything big before putting in the effort of creating the PR.
To reach out, please contact @lordcodes on Twitter.