From Complexity to Clarity — Build a Living Blueprint of Your Hybrid World.
This repository contains the source for rescile.com, including comprehensive documentation and real-world examples for modeling, governing, and automating your hybrid cloud.
rescile transforms scattered data from your hybrid environment into a single, queryable dependency graph. It creates a "digital twin" of your entire estate, allowing you to go from fragmented data to decisive answers.
With rescile, you can:
- Generate Complete Deployment Recipes for Terraform, Ansible, and Kubernetes.
- Automate Audits with compliance-as-code for SOX, GDPR, DORA, and more.
- Achieve True FinOps Cost Attribution by connecting technical assets to business owners.
- Proactively Manage Risk by tracing vulnerabilities from an SBOM to every affected application.
- Enforce Architectural Standards and validate your deployed reality against your blueprint.
Contributions are welcome! Please feel free to submit a pull request or open an issue for bugs, feature requests, or suggestions.
Built with ❤️ by the team at rescile.com
This repository contains scripts to automatically download, verify, and install the rescile-ce command-line tool into a local .rescile/.bin/ directory.
The scripts are idempotent: if the correct binary is already installed, they will simply ensure its location is added to your PATH without re-downloading.
The recommended method for managing this local environment is direnv, which automates the setup process whenever you enter the project directory.
direnv(Recommended): A shell extension to load and unload environment variables depending on the current directory.- Linux/macOS:
curlandjqare required for the manual setup scripts. - Windows:
PowerShell 5.1+andcurl(included in modern Windows 10/11) are required. - NixOS: If you are using NixOS, ensure
programs.nix-ld.enable = trueis set in your system configuration.
Using direnv is the most convenient way to manage the rescile-ce tool. Once configured, it will be automatically available in your PATH every time you cd into this directory.
This project already contains a .envrc file, so you only need to install direnv and allow it to run.
1. Install direnv
Follow the official installation instructions for your operating system. For example, on macOS with Homebrew:
brew install direnv2. Hook direnv into your shell
You must add a "hook" to your shell's startup file. This only needs to be done once. Choose the command for your shell:
-
Bash (
~/.bashrc):echo 'eval "$(direnv hook bash)"' >> ~/.bashrc
-
Zsh (
~/.zshrc):echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
-
Fish (
~/.config/fish/config.fish):echo 'direnv hook fish | source' >> ~/.config/fish/config.fish
Restart your shell for the changes to take effect.
3. Allow the project environment
Navigate to the project directory and allow direnv to execute the .envrc file:
cd /path/to/your/project
direnv allowThe first time you do this, direnv will run the init.sh script, which will download rescile-ce. On subsequent visits to the directory, direnv will simply and quickly add the tool to your PATH.
You can now run rescile-ce directly:
rescile-ce --versionIf you prefer not to use direnv, you can run the initialization scripts manually. This will configure your current shell session only.
The init.sh script must be evaluated by your shell so it can modify your environment.
eval "$(./.rescile/scripts/init.sh)"After running this, the rescile-ce command will be available in your terminal.
Using PowerShell is the recommended manual method on Windows.
-
First, you may need to adjust your execution policy to allow local scripts to run. This command affects the current process only.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
-
Then, run the initialization script:
.\.rescile\scripts\init.ps1
If you are using the legacy Command Prompt (cmd.exe), you can use the provided batch script.
.\.rescile\scripts\init.batThe initialization scripts perform the following actions:
- Check if
rescile-ceis already present in the local./.rescile/.bindirectory. - If not, they detect your operating system and CPU architecture.
- They fetch metadata from
https://updates.rescile.com/index.jsonto find the URL and SHA256 checksum for the latest release that matches your platform. - The binary is downloaded into the
./.rescile/.bindirectory. - The checksum of the downloaded file is verified against the expected checksum to ensure integrity.
- Finally, the
./.rescile/.bindirectory is prepended to your shell'sPATHenvironment variable for the current session.