DEV Community

Cover image for How To Manage Domains and Deploy Third-Party Apps
Argonaut
Argonaut

Posted on • Edited on • Originally published at argonaut.dev

How To Manage Domains and Deploy Third-Party Apps

If you’re new to Argonaut or just getting started, you may have already configured an environment and poked around in the simplistic UI. Now that you’ve done that, you want to take it a step further and figure out how to start the configuration aspect for your organization.

In this blog post, you’ll learn about three common tasks that you’ll get started with almost right away in Argonaut.

Configuring Domains

The first thing that many engineers do when they get an environment set up is configure a domain. The two most common places to do that are in:

  • Cloudflare
  • Route53

In this section, you’ll learn how to configure the domain via Route53.

💡 If you want to check out a quick tutorial on how to do the same thing in Cloudflare, check out our docs page.

First, log into the Argonaut UI and go to your environment. Then, click on the load balancer.

Argonaut Environment

Luckily, Argonaut's intuitive UI and helpful tips guide you through the process of configuring the domain.

CNAME

As you can see from the screenshot above, Letsencrypt is taking care of the SSL and you need to configure a CNAME for the load balancer.

💡 If you’re not familiar with CNAME, it’s essentially an alias to an A record, which is the primary DNS record.

Setting Up A CNAME In AWS

Within AWS, go to the Route53 portal and click on a hosted zone. As an example, I own a domain that’s hosted in AWS called simplyanengineer.com.

Once in the hosted zone, click on the orange Create record button.

Route53 Domains

When you’re on the record creating screen, you’ll want to change three values:

  • Change the record type to a CNAME
  • Put in the value of the load balancer from the Argonaut portal
  • Put in a record name. As an example, I put in argonautenvironment

New CNAME

Once the values are filled in, click the orange Create records button.

Deploying 3rd Party Apps And Plugins

When you think about how cumbersome deploying an app is in today’s world, it holds up a lot of engineers. Everything from where it’s going to be deployed from (CI/CD, for example) to how the app will be managed.

With Argonaut, that’s all taken care of for you. The thinking that’s needed behind setting up and deploying apps is handled. All you have to worry about is what you’re deploying and writing the code for the app.

Within Argonaut, click on the environment name.

Dev1 Environment

Within the apps page, click on the purple New App + button.

New Apps

When you click on the New App + button, you’ll have two options:

  • From Git
  • From Library

App Deployment Options

If you choose From Library, you have several options. One of the many amazing things about Argonaut is that it comes pre-configured with certain apps that are ready to be used out-of-the-box. Those apps include:

  • Grafana
  • Datadog
  • Clickhouse
  • ELK

You also have a custom app option, which is used to deploy a Helm chart.

💡 If you’re not familiar with Helm charts, they’re a collection of Kubernetes manifests that make up an application stack.

Deploying A Library App

For simplicity, let’s learn how to deploy a library app.

Within the From Library option, click on Datadog.

Pre-Configred Apps

Notice how there’s a YAML configuration to install Datadog. Datadog gets installed within your Argonaut environment.

Datadog Deployment

Click the purple Install datadog button.

Datadog App Install

Within just a few minutes, your APM and monitoring solution is up and running!

Datadog App Installed

If you click on the newly created Datadog app, you’ll see the overview and configuration data for your Datadog instance.

Deploying Apps

In the previous section, you learned about one way to deploy apps, which are the custom-built/3rd party apps via the Library.

If you chose From Git instead, you’ll deploy an app that’s within your GitHub or Gitlab repos. Not only do you choose the app that you want, but you can also set up resource limits, network services, Dockerfile paths, health checks, and much more. It’s like a containerization application paradise.

From the Deploy an Application screen, you’ll be able to choose what app you want to containerize, build, and deploy.

Choose the appropriate repo name for your app. As an example, I chose python-webapp-sample from my GitHub repository.

App Configurations

Once chosen, click the purpose Deploy button.

You’ll have a few options that pop up:

  • Raise a Pull Request: Going with the PR option, you’ll see a new PR open on your GitHub repo that contains GitHub Action workflow added to deploy your app. If you merge the PR, the GitHub Action workflow will start.
  • Generate Configurations: Clicking on generate configurations will generate the GitHub Actions workflow for you instead of creating a PR and committing it to your repo. That way, you can take a look at it and copy/paste it in GitHub if you want to.
  • Commit to repo: This option will create a new .art directory that contains the YAML configuration for your app being deployed via Argonaut. Please note that this option will commit the .art directory and YAML config directly to the main/master branch.

App Configuration Options

Wrapping Up

As you can see, using a product like Argonaut is quite straightforward. Managing Kubernetes clusters for key cloud services is a breeze, and you can have a centralized hub for anything application-specific. Whether you want to deploy applications, configure Kubernetes deployments, or work with popular cloud services, you can do it all right from one location - Argonaut.

Thanks to Guhan and Surya for helping with the draft.
The above content is written by Michael Levan.

Top comments (0)