Topic: Assets
Disk Size Reporting

Gigabytes vs. Gibibytes We recently refactored our math and the presentation of disk usage. Each cloud provider uses different measures - some Gigabytes (base 10), others Gibibytes (base 2) - and over the years we had coded to their preference. However this produced inconsistencies in behavior and display. On top of that, the humans in the loop would sometimes think they had to do conversions between Giga and Gibi when they shouldn’t (for example when setting Team limits.
GitLab Runner

Building a GitLab Runner Acquire a certificate that can be used by GitLab Runner. Needs to be a cert that can be registered in CONS3RT as a user. Follow this link for steps on creating a bot user with a machine certificate Create user in Arcus with the certificate Give user associated with the certificate the appropriate permissions in GitLab to register a Runner Go into GitLab and copy the GitLab Runner registration token Download the GitLab Runner - Certificate - Template Import asset using this article: Importing Your Asset Zip File Edit asset name and upload pem cert into media directory: Updating Software Assets Clone the GitLab Runner system (KB: Cloning Systems Scenarios and Deployments) Update system by swapping the certificate asset you created with the certificate asset template that you had in step 5 Create a scenario and a deployment In the deployment, include the following deployment properties: GITLAB_VERSION - The version of GitLab to use.
Backup Strategies

Backup Strategies Overview Arcus supports a hybrid approach to data backup in order to provide maximum coverage, greater flexibility, improved resiliency, and lower cost. It utilizes existing cloud automation and resources as the foundation for the solution. Architecture Separating the stateful and stateless data is core to the recommended approach. The basic concept is: Create assets that can deploy the servers (Stateless) Back up the data at regular intervals in an automated way (Stateful) Restore the data from the backups to the new servers Stateless Data This encompasses the tools, applications, and configurations for each element on a system, for each system in the environment.
Browser Container

What is a Browser Container? A Browser Container is a newly-developed container asset that turns the VNC button into a Chrome or Firefox web browser. If your group is using or developing a browser-based application, but you aren’t allowed to host this app on the open internet, then a browser container is the way to go! With a browser container, you can use Arcus as your authentication method, and you can host your app on the Arcus user-net.
Container Images

What is a Container? A container is a unit of software which packages up all the code, along with its dependencies, so that it can run quickly and independantly in any computing environment. Each container has a Container Image, which is a standalone executable package that includes all the essentials to run the containerized application, including the code, runtime, system tools, and system libraries. Containers can be used to run both Linux and Windows-based applications.
Instance Types

Arcus now allows users to select a specific Instance Type when launching a Deployment in Arcus using AWS Commercial, AWS GovCloud, Azure Commercial, or Azure Gov. For more information on launching a Deployment or launching from Clouds other than AWS or Azure, please see this article. Setting an Instance Type in Azure Base Settings Click the Launch or Finish and Launch button on the Deployment that needs to be launched. This will bring up the launch wizard Select a Cloudspace: This needs to be an Azure Cloudspace that you have access to, and one that has sufficient resources for your Deployment.
Developing Assets for Offline

Do you need to develop assets that also need to work in an offline environment? No Problem! Arcus helps you develop with offline use in mind: Community assets are developed with offline environments in mind. Most Certified community assets have an offline mode, and you can find the same assets available to re-use in offline environments. Check the Help page on community assets if you have any questions Update servers are available in offline Arcus environments, including Red Hat 6 and 7, Ubuntu 16, and Windows: Run yum -y update and yum -y install [package] commands Run apt-get -y update && apt-get -y upgrade and apt-get -y install [package] commands Run Windows updates on a variety of OS versions Elastic Test Tools like Nessus scans are available in offline Arcus environments, so your test assets (or the community test assets) will work just fine offline When developing offline versions of your assets, here are helpful hints to keep in mind:
Software Asset Builder

Building Software Assets You can create your own software assets using the software asset builder. To get started: From the main menu, click on the Add button next to Applications under the Library header Note: if you do not see the Add button, you may need permissions added in your project How should we get started? At this stage you can choose whether to import your own archive zip file (option 1) or to use the Software Builder to create your own package in the GUI (option 2).
Additional Disks

Adding A Disk At Launch When building or editing a system design, you have the option to add up to 10 additional disks up to 1 TB each. On some Windows systems, there are only 8 additional disks available. At run time, the disks specified in each system design are automatically formatted and mounted to each of your run hosts. On most Linux hosts, mount points are: /cons3rt_disk1 /cons3rt_disk2 /cons3rt_disk3 /cons3rt_disk4 /cons3rt_disk5 /cons3rt_disk6 /cons3rt_disk7 /cons3rt_disk8 /cons3rt_disk9 /cons3rt_disk10 Windows disk mount points:
Snapshots

What is a Snapshot? As a team begins transitioning from traditional cloud hosting environments, there will inevitably be a time when when someone wants to “snapshot” a system. A snapshot preserves the state and data of a virtual machine at a specific point in time. They are used to restore that virtual machine to a that saved state. The state includes the virtual machine’s power state (for example, powered-on, powered-off, suspended).
Using Physical Machines

Arcus gives you the power to register and provision physical machines into your cloudspace. Registering a Physical Machine Physical machines are registered to a single cloudspace. Thus, only projects that have access to the cloudspace can access and deploy the physical machine. To register a physical machine to your cloudspace, please enter a support ticket with support@arcus-cloud.io. Using a Physical Machine Once your physical machine is registered, it is available for use in Arcus deployments.
Deleting an Asset

If an asset does not have any dependencies, it can be deleted. To delete an asset: On the asset page, look for the gear-shaped icon on the right side next to “Details”. You will see it if you have appropriate permissions Click the gear icon, and select Delete this asset (see the image below) In some cases, you may not need to delete the asset, but just want to remove it from your view.
Asset Tags

Add Tags to my Assets Asset tags are useful when searching for assets of a specific category, and also to help users find assets that you have created. See below for information on a special asset tag called “Disruptive”. You can assign up to 3 tags to each of your assets. To add a tag to one of your assets, on the asset page, click the “Edit Pencil” icon under Tags
Assets with Reboot and Reboot Delay

Assets with Reboot For each asset on your System, that you add to the System Builder, you can check the Reboot system after installation? checkbox. This tells Arcus to reboot the host after the asset has completed installation. This is useful when installing an application that requires reboot after installation. Additionally, you can set a Reboot Delay on each reboot as described below. In most cases, set the Reboot Delay to 0 minutes.
Updating Software Assets

In order to update a Software Component Asset, there are a few criteria that must be satisfied: The Asset State must be In Development (this is the default state) more info on asset states You must be a member of the Project that owns the asset, and the Project is selected (at the top-right) You must have Asset Developer permissions to see the “Update” buttons, see this article on setting permissions Navigate to your asset, and ensure you have permissions to edit your asset:
Create a Scenario

Step 1: Add Systems First you need to create a System From the Main Navigation Menu, click Systems Select the System you would like to add to your Scenario Click the Add to Scenario Builder button If you would like to add another copy of the same System, click the Add to Scenario Builder as many times as needed To add another System to your Scenario, follow the same process Step 2: Scenario Builder The number of systems added to your scenario appear as a number next to Scenarios on the main menu Click on the number to access the Scenario Builder (Optional) set the build order by using the after previous and with previous buttons (Optional) Set the master scenario host by clicking the designate as master checkbox (details below) Click Next Give your Scenario a Name, and optionally a Description, and click Next (Optional) Add Scenario Configuration and Teardown scripts as desired (details below) Click Next Click Create Scenario Next you should add your Scenario to a Deployment.
Exportable Asset Bundles

Arcus provides the capability to export an asset bundle for each host in your deployment runs. These asset bundles can deploy on virtual or physical hosts that are disconnected from Arcus (e.g. an offline, disconnected lab). Export an Asset Bundle When your run completes successfully (status is “Reserved” or “Completed”) without errors you can export the asset bundle for each host. Click on the host from the Home page, or click on the Run page and select the host to export Select Export Click the Request Download button You will receive an email with a link to download the asset bundle when it is ready Note: The download may take some time depending on the size of the bundle.
Deployment Properties

Deployment Properties Each system in a deployment has a set of properties that contains Arcus and user defined values for use in the configuration and execution of Systems. These allow for customization in software and test assets. Contents Arcus properties are values generated on each run. These include: Run specific information (e.g. username, cloud technology, etc.) User defined properties are set in the Deployment builder (can be added/edited at Deployment Launch) Per System specific information (e.
Using a Custom Template

A note on using Custom Templates The best way to configure your environment is using automation, instead of custom templates. Using automated configuration will increase the flexibility, repeatability, and maintainability of your systems. Arcus provides a suite of tools to enable you to fully automate your environments from networking, to application installs, to system specifications. Create a System with your Custom Template Click on the System Builder icon on the top-left Under System Type, select Template-Based Select Browse Templates Select your Cloudspace from the drop-down-menu.
Create a System Design

Create a System Design by clicking the Add button next to Systems on the main menu. This builder allows you to design a virtual or physical host. Your System design will include: An Operating System (OS), a specific OS template, or a physical device Minimum number of CPUs Minimum Memory (RAM) in GB Minimum root volume disk size (up to 100 GB) The number and size of additional disks GPU requirements Nested Virtualization requirements Step 1: Select an Operating System To begin, click the Add button next to Systems on the main menu Select Virtual, Physical, or Template-Based For most cases, select Virtual.
Platform Enforcement

If an operating system platform is specified for an asset, Arcus will prevent the install of that asset on the wrong platform. For example, the System Builder will not let a user save a Windows Firefox asset on a Linux operating system. This requires the optional field applicationOsFamilyType to be set in the asset.properties. Example: # Specify an OS Platform. If set this will be enforced in Arcus # Can be: LINUX, WINDOWS, OS_X, SOLARIS applicationOsFamilyType=LINUX
Environment Variables

Environment Variables Arcus specific environment variables are set and available to install scripts at runtime to use in Software and Test assets Grab media files from the asset Launch additional code (e.g. Puppet manifests) Set conditional logic based on Role name Grab custom properties or deployment properties Variables ASSET_DIR: Path to the parent directory of your software asset To access media files in Linux: $ASSET_DIR/media/filename.zip To access media files in Windows Powershell: $env:ASSET_DIR\media\filename.
App Bundles

Users can create bundles of software assets called “App Bundles” to install as a group on systems. Just like Systems, App Bundles include reboot and a build order. Creating an App Bundle Create a System or navigate to one that has already been made Click the “Create App Bundle” button Name your Software App Bundle Click Save Viewing your App Bundles From the Main Navigation Menu, click App Bundles under the Library section Click on “App Bundles” from the top menu bar More Help Review this process with our video tutorials:
Importing Your Asset Zip File

One you have created an asset zip file according to this article, you will want to import it into Arcus. To do so: On the main menu, next to Applications, click the Add button Note: if you do not see the Add button, you need asset developer permissions in your project. Contact your Team Manager or Project Owner to set your project permissions. If you have an asset zip file to import, click on the “I have an archive with a properties file” option, click “Next” Drag and drop, or browse and select your asset zip file You will see a file transfer bar at the bottom right Keep an eye out for error notifications at the bottom left, in case any asset structure issues were detected You should receive an email notification if your asset import succeeded, if it fails the notification will provide details: If Arcus finds a problem with the asset If Arcus detects a virus or malware in the asset.
Sharing Assets with Another Project

Sharing assets is a two step process. First, your Project Owner must add the Project you’d like to share assets with as a Trusted Project using these instructions Edit the sharing on the asset you would like to share, using the following instructions: Navigate to the asset that you would like to share with another Project Ensure that the asset has HELP and LICENSE (if shown) text provided under each tab.
Cloning Systems/Scenarios/Deployments

Cloning Overview Cloning creates a Copy of the System, Scenario, or Deployment asset in your builders. Once a clone is created, you can save an identical copy, or modify and tweak it as needed. Cloning is useful when: You need to launch another instance of an existing Deployment Run You need to copy a teammate’s System design You want to test a new version of your assets without modifying the original asset See below for how to clone a System, Scenario, or Deployment.
Creating Component Assets

Component assets are developed by you and other Arcus users, and imported into Arcus for use in your Systems. The three categories of Component Assets are: Software Assets Source Code Assets Test Case Assets There are 2 options for creating component assets: Use the Software Asset Builder. You can use this method for software application and source code assets. Create and import and asset zip file. This method is described below and can be used for all component asset types, including test cases.
Docs and Licenses

The documentation for an Asset is available in the UI by selecting “Help” tab on the Asset’s main page. This section should provide all relevant information and necessary requirements that pertain to your Asset. As the owner of an Asset, you are the only one who can edit its documentation. This can be done by using the Arcus WYSIWYG editor, or by adding information to the Asset’s properties file documentation section prior to importing.
Instance Limits

Setting an Instance Limit on an asset will limit how many concurrent instances of an Asset that can be provisioned. This can be used to: Manage usage of an Asset that is constrained due to licensing considerations Manage usage of an Asset that is constrained due to physical resources Once a instance limit is reached, the deployment runs will remain in the scheduled state until the resource becomes available (i.e another deployment run that uses the resource is released or cancelled).
Asset Visibility

Visibility defines which other users can see and access your Assets in the library. Only the Owner can change its visibility. The four levels of visibility are: “No One Else (sharing disabled)” - Only the original creator can see or use this asset. This is the default setting for any newly imported or assembled asset. “Member of {my project}” – These assets are only visible to members of the owning project, which allows a team to proceed with development and/or test in a private workspace.
Asset States

This article includes information about the lifecycle of an Asset, and how to set asset states to reflect that lifecycle. What are the Asset States In Development: Every asset’s initial state. Asset editing is allowed. For software assets, install scripts can be edited and media file can be uploaded. See this article for information about updating software assets. For system assets, you can update the operating system, the system specifications, and the software asset list.