REVVOPS V8 architecture consists of a sharded monolithic core - REVVOPS-V8-CORE.EXE and a command line interface (CLI) - revvops.exe.
All user interaction with the Core is handled through the CLI, so you use the REVVOPS CLI (revvops.exe) to control the REVVOPS Core (REVVOPS-V8-CORE.EXE). Conceptually, you can think of the Core as a large piece of rock, composed of shards. REVVOPS V8 shards are sharply defined pieces of high performance imperatively programmed binary machine code that can realise any cloud functionality as a declarative expression of a desired state configuration system. The V8 Core's job is to load, unload, reload and execute shards.
Shards can do things like create infrastructure to support specific architectures, automate the performance of DevSecOps security procedures, or deploy microservices based applications as well as create the infrastructure for them. Shards can be statically included within the V8 Core prior to release, or dynamically loaded at run time from the host file system and remote data sources.
About the REVVOPS V8 Software Distribution
The REVVOPS V8 free download software distribution consists of a single zip file, that only requires extracting before use, so no conventional Windows installation is needed. The same will apply for Linux and macOS editions when they become available. If you need a Linux or macOS edition now, please get in touch and we'll create a custom build for you. It's best to call us on +44(0)207 157 9683.
REVVOPS V8 Command Line Interface (CLI) Tutorial
In this example session, the REVVOPS V8 software distribution has been extracted to the root of the C drive on a Windows machine, hence the path name in the command prompt, but you would probably extract it to some other directory of your choice.
You should first initialize all the shards within the V8 Core and set up the underlying Pulumi IaC platform. You do this with the
init
subcommand.
The output will list all the shards that are primed and ready for cloud action:C:\revvops-v8.0.72-windows-x64>revvops init
...
You can now bring up any shard you want that was listed as ready in the output of the previous
init
subcommand. You should think in terms of
'cloud application', 'cloud utility', 'cloud security system', 'cloud ... whatever', not shards - that's our job. So, here we're bringing
up the REVVOPS One single instance cloud infrastructure application:C:\revvops-v8.0.72-windows-x64>revvops up --arch=revvops-one
...
Now we're taking down REVVOPS One; meaning we're deleting or destroying all the cloud resources associated with the application:
C:\revvops-v8.0.72-windows-x64>revvops down --arch=revvops-one
...
After you've taken down a cloud application, sometimes you may wish to delete or clean out the local storage area where information about the state of cloud resources is stored (when the the application is still 'running' or active). It clears the way to run the application again from a clean sheet so to speak, though it's not needed that often. You can use the
clean
subcommand
to do this. In the conceptual design of the Pulumi IaC platform, these storage areas are known as 'stacks' and the V8 Core uses a separate stack
for each shard. You
can learn more about the Pulumi stack concept here.C:\revvops-v8.0.72-windows-x64>revvops clean --arch=revvops-one
...
The REVVOPS V8 Core and CLI advance in unison, so they have a synchronized version number. You can obtain this information with the
version
subcommand:C:\revvops-v8.0.72-windows-x64>revvops version
...
Specifying REVVOPS V8 Application Configuration Values
REVVOPS V8 application configuration values are mainly specified in YAML files, though can also be set upon command line invocation. For AWS provider configuration values (including access key credentials), other cloud provider credentials and application specific cases, OS environment variables may be used as a third method.
YAML configuration files names have the form
shard_name.edit.yaml
, so for
the REVVOPS One application you would put your configuration values in revvops-one.edit.yaml
and
for the REVVOPS Dynamic Balanced application you would put your configuration values in revvops-dynamic-balanced.edit.yaml
and so on. Do not edit the files ending with .default.yaml
as these are reference defaults should you wish to go
back to 'factory default settings' after your .edit.yaml
file has gone through a lot of changes. Your .edit.yaml
file is
the one you should version. For each shard the .edit.yaml
and .default.yaml
files are identical in the V8 software distribution.When issuing a
revvops up
command, configuration values can be set on the command line using the form:-c yaml_key_name=yaml_key_value
either single or double quotes can also be used to enclose the whole token:
-c 'yaml_key_name=yaml_key_value'
Note that there should be no space characters preceding or following the '=' character.
How to specify an AWS Region, Access Key ID and Secret Access Key
If you already have the AWS Command Line Interface (CLI) installed and configured with an AWS Region value you wish to use with a REVVOPS shard/application then you can omit that value from its application YAML configuration file. Otherwise simply edit the file and include your chosen value for the
aws:region
YAML key, for example in revvops-one.edit.yaml
you could have:aws:region: us-west-2
to indicate you want REVVOPS One architecture created in the US West (Oregon) AWS Region.
Similarly, if you have the AWS CLI already configured with appropriate access keys and they're associated with an AWS CLI profile name, you can make use of them in the REVVOPS shard/application YAML configuration file, by setting the value of the
aws:profile
YAML key with that profile name. For example
in revvops-one.edit.yaml
:aws:profile: revvops_test
On Windows the AWS CLI stores access keys in the file
credentials
under the user profile directory, so in the above example
credentials
would contain an entry like:
[revvops_test]
aws_access_key_id = ********************
aws_secret_access_key = ****************************************
If you don't have the AWS CLI installed or it hasn't been configured with appropriate access keys, you can mention them explicitly
in the REVVOPS shard/application YAML configuration file without using an AWS CLI
profile name, by setting the YAML keys aws:access_key_id
and aws:secret_access_key
.
For example in revvops-one.edit.yaml
:aws:access_key_id: ********************
aws:secret_access_key: ****************************************