Getting started

This guide helps you set up your evroc account and start using evroc cloud services.

Prerequisites

To use the evroc cloud, you need:

  • An evroc organization for your company
  • At least one user account associated with that organization

Visit evroc.com to sign up or contact evroc support for account setup. You'll receive an email with your username and temporary password once your account is ready.

Log in to the console

The evroc console provides a web interface for managing your cloud resources.

  1. Navigate to the console
  2. Enter your username and temporary password
  3. Follow the prompts to set a new password
  4. Log in with your new credentials

The console dashboard shows an overview of your resources and provides access to all evroc services. From here, you can create virtual machines, manage storage, and configure networking.

Choose your workflow

evroc supports multiple ways to interact with the platform. Choose the approach that best fits your needs:

The console provides a visual interface for managing resources. This is the easiest way to get started, especially for:

  • Creating your first virtual machines
  • Exploring available services
  • Learning about evroc's features

CLI (for automation and scripting)

The evroc CLI enables command-line access to all evroc services. Install the CLI if you need to:

  • Automate resource creation and management
  • Integrate evroc into your existing scripts
  • Work from terminal environments

See Install the evroc CLI for setup instructions.

Go SDK (for building services in Go)

The evroc Go SDK provides a type-safe, idiomatic Go client for evroc's APIs. Use the SDK when you need to:

  • Build services in Go that create and manage evroc resources
  • Drive infrastructure from your own control plane or CI pipeline
  • Avoid hand-rolling HTTP clients and tracking API changes

See the evroc Go SDK for more details.

Terraform provider (for infrastructure as code)

The evroc Terraform provider lets you define and manage infrastructure declaratively using Terraform or OpenTofu. Use the provider when you need to:

  • Describe infrastructure in configuration files and version-control it
  • Reproduce environments consistently across development, staging, and production
  • Preview changes before applying them

See the evroc Terraform provider for more details.

REST API (for advanced and experimental use)

The evroc platform exposes a REST API for direct programmatic access. Use the API directly when:

  • You're integrating with custom tooling that isn't supported by the higher-level tools
  • You need capabilities that aren't yet exposed through the CLI, SDK, or Terraform provider
  • You're prototyping or experimenting

For most automation and integration tasks, the CLI, Go SDK, or Terraform provider offer a simpler experience than calling the REST API directly.

To use the API, send a valid access token in the Authorization: Bearer {token} header with every request. To get a token, you can:

  • Authenticate using the evroc CLI: log in using the evroc login command. Once authenticated, retrieve a fresh access token by running evroc iam get-access-token.

  • Use this one-liner Python command below to mimic the OIDC authorization code flow. Run it in your terminal to authenticate to your evroc account and get an access token:

python3 -c "import http.server, socketserver, urllib.parse, sys, subprocess, webbrowser, json
# Bind to port 0 to let OS assign an available port automatically
class H(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # Extract authorization code from callback URL query parameters
        c=urllib.parse.parse_qs(urllib.parse.urlparse(self.path).query).get('code',[None])[0]
        # Get the actual port assigned by OS from the server instance
        p=self.server.server_address[1]
        # Send HTTP 200 response to browser
        self.send_response(200); self.end_headers()
        self.wfile.write(b'Login OK. The access token will be printed in your terminal. You can close this window.')
        # Exchange auth code for access token via POST request
        r=subprocess.run(['curl','-s','-X','POST','https://authn.iam.evroc.com/realms/evroc-customer/protocol/openid-connect/token','-H','Content-Type: application/x-www-form-urlencoded','-d','grant_type=authorization_code','-d','client_id=evroc-cli','-d',f'code={c}','-d',f'redirect_uri=http://localhost:{p}/redirect'],capture_output=True,text=True)
        # Pretty print JSON token response or raw output if parsing fails
        try: print(json.dumps(json.loads(r.stdout),indent=2))
        except: print(r.stdout)
        sys.exit(0)
# Start server on random available port (port 0)
with socketserver.TCPServer(('',0),H)as s:
    p=s.server_address[1]  # Retrieve the assigned port number
    print(f'Listening on port:{p}')
    # Launch browser to initiate OAuth flow
    webbrowser.open(f'https://authn.iam.evroc.com/realms/evroc-customer/protocol/openid-connect/auth?client_id=evroc-cli&response_type=code&redirect_uri=http://localhost:{p}/redirect&scope=openid')
    s.handle_request()"

Access tokens are valid for 5 minutes, after which you'll need to generate a new one.

Next steps

Now that you're set up, explore evroc services:

For help, see the Support page or contact evroc support.