• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    Kubernetes environment variables, ConfigMaps and Secrets

    Jeffry Johar

    By Jeffry Johar
    January 10, 2023

    A street style Thai restaurant
    Photo by Jeffry Johar

    There are 3 ways to set environment variables for the container in the Kubernetes Pod: hard-coding, ConfigMaps, and Secrets, each with its own use case.

    For those who are taking the Certified Kubernetes Administrator exam, you need to know all of these by heart. These skills fall under the domain of workloads and scheduling, which is 15% of the exam.

    Let’s go over how to create environment variables based on these methods.

    Hard-coding

    This is the method that enables us to define the environment variables in the containers section of the Pod manifest. When using this method the environment variables will be visible when we describe the Pod. The following is an example of defining the environment variables PET01=cat and PET02=dog in an nginx container.

    As with most Kubernetes resources, there are 2 ways of creating Pods. You can use either one of them. The first way is the imperative way, using the kubectl CLI. This is the preferred method for the CKA exam because it is convenient, fast, and saves time. The second way is the declarative way which requires you to build the YAML file and apply it.

    The imperative

    kubectl run mynginx --image=nginx …

    kubernetes containers

    How to write end-to-end & component tests with Cypress in Vue.js

    Edgar Mlowe

    By Edgar Mlowe
    December 10, 2022

    A white beach in Zanzibar, Tanzania during a hot sunny day. A few trees provide shade for the beach, looking out at a light blue ocean.

    Is writing tests painful for you? In this tutorial, I explain how to handle UI testing with Cypress and hope to convince you that writing tests is not always so tedious and expensive, but can be fun instead.

    Cypress is a purely JavaScript-based front-end testing tool built for the modern web. it can test anything that runs in a browser and has built-in support for testing modern frameworks such as Vue.js, React, and Angular. See the full list of front-end frameworks Cypress supports.

    As an example we are going to use a to-do app built using Vue. We will learn:

    • How to install and set up Cypress.
    • How to create a simple to-do app with Vue 3.
    • How to write end-to-end tests.
    • How to write component tests.

    How to install and set up Cypress

    1. First let’s create a new Vue project using the Vue CLI.

      Install Vue CLI if you don’t have it in your machine:

      npm install -g @vue/cli
      
    2. Create a project (pick the Vue 3,babel,eslint preset):

      vue create todo-app
      
    3. cd into the todo-app project and install Cypress:

      npm install cypress --save-dev
      

      No dependencies, extra downloads, or changes to your code are required!

    4. Edit package.json. In the scripts section, add a command, …


    vue javascript testing nodejs

    Nevada State EpiTrax Launch

    Katrease Hale

    By Katrease Hale
    December 1, 2022

    Weathered red rocks jut out from the desert into the foreground, while a blue haze covers a mountain range in the background. Photo by Adrien Drj

    If COVID-19 has taught us anything, it is that the public health landscape can change quickly, and we need a disease surveillance system that is adaptable to support our ever-evolving climate.

    Having access to surveillance data for purposes of contact tracing, following trends, and monitoring evolving disease conditions allows health departments to be agile in response. This is a critical component in providing communities with a robust public health infrastructure.

    For all these reasons and many more, the State of Nevada embarked on a journey to migrate away from their surveillance system, NBS, to the open-source EpiTrax system created by the Utah Department of Health. Ultimately, the Nevada decisionmakers made this change because they needed to be on one state-wide system and wanted autonomy to customize the system.

    Nevada had been exploring this change for a while but due to unforeseen problems the window of time for implementation was incredibly narrow. In the first four months of End Point’s partnership with Nevada, the team was able to accomplish what was believed to be impossible in so short a time.

    The Four Month Sprint

    Some of the major …


    casepointer epitrax emsa clients

    A/B Testing

    Kürşat Kutlu Aydemir

    By Kürşat Kutlu Aydemir
    November 28, 2022

    A chemist in complete PPE holds two test tubes holding green liquid.
    Photo by Mikhail Nilov

    In statistics, A/B testing is “an experiment with two groups to establish which of two treatments, products, procedures, or the like is superior. Often one of the two treatments is the standard existing treatment, or no treatment” (Bruce 2020, 88).

    A/B testing is very useful when adapted to e-commerce and marketing for determining the better of two options for a webpage.

    Let’s consider a website where we want to analyze the page visits of page A and page B. Page A is the existing page (the control group), and page B is a new design of the web page (the treatment group).

    To prepare A/B testing we start with the following steps:

    1. Define hypotheses: null hypothesis (H0) and alternative hypothesis.
    2. Prepare control and treatment groups.

    Then we’ll apply the A/B test on the dataset.

    Purpose

    The new and existing versions of our web page can show different performance in terms of marketing, visitor attention, and “conversion” to a particular goal. By applying A/B tests we can understand which of the two web pages has better performance. We can also find out if any difference in performance is due to chance or due to a design …


    testing data-science

    ssh-askpass on macOS for SSH agent confirmation

    Bharathi Ponnusamy

    By Bharathi Ponnusamy
    November 23, 2022

    A city street at night. A man sits on a bench, looking at his laptop as cyclists pass by.
    Photo by Kristoffer Trolle, CC BY 2.0

    At End Point Dev we mostly use SSH keys for authentication when connecting to remote servers and Git services. The majority of the time, the servers we are trying to visit are barred from direct access and require a middle “jump server” instead.

    Enabling SSH agent forwarding makes it easier to reuse SSH private keys. It keeps the private keys on our local machine and uses them to authenticate with each server in the chain without entering a password.

    However, this approach comes with an inherent risk of the agent being hijacked if one of the servers is compromised. This means a bad guy could use the SSH keys to compromise downstream servers.

    In this post, we’ll cover a simple way to protect against SSH agent hijacking. We will see in detail on macOS how to configure a system-wide agent using ssh-askpass to pop up a graphical window to ask for confirmation before using the agent.

    How it works

    Agent confirmation dialog reading “Allow us of key /Users/(blank)/.ssh/id_rsa? Key fingerprint (blank) (blank). The cancel button is highlighted.

    It is strongly recommended to use the -c option on the ssh-add command when adding your SSH keys to the agent in order to protect yourself against SSH agent hijacking.

    With this, every time a request is made to utilize the private key stored …


    ssh mac security

    Introduction to Terraform with AWS

    Jeffry Johar

    By Jeffry Johar
    November 9, 2022

    Port Dickson, a Malaysian Beach. Rocks in the forground jut out into an inlet, across which is a line of red-roofed houses.
    Photo by Jeffry Johar

    Terraform is a tool from HashiCorp to enable infrastructure as code (IaC). With it users can define and manage IT infrastructure in source code form.

    Terraform is a declarative tool. It will ensure the desired state as defined by the user.

    Terraform comes with multiple plugins or providers which enable it to manage a wide variety of cloud providers and technologies such as but not limited to AWS, GCP, Azure, Kubernetes, Docker and others.

    This blog will go over how to use Terraform with AWS.

    Prerequisites

    For this tutorial we will need the following:

    • An active AWS account.
    • An internet connection to download required files.
    • A decent editor such as Vim or Notepad++ to edit the configuration files.

    Install AWS CLI

    We need to set up the AWS CLI (command-line interface) for authentication and authorization to AWS.

    Execute the following command to install the AWS CLI on macOS:

    $ curl -O https://awscli.amazonaws.com/AWSCLIV2.pkg
    $ sudo installer -pkg AWSCLIV2.pkg -target /
    

    For other OSes see Amazon’s docs.

    Execute the following command and enter the AWS Account and Access Keys:

    $ aws configure
    

    Install Terraform

    We need to install Terraform. It is just a command …


    terraform aws linux sysadmin

    Building and Hosting a Web App with .NET 6, Postgres and Linux

    Dylan Wooters

    By Dylan Wooters
    November 3, 2022

    Fishing boat in Dar es Salaam. A traditional fishing boat sits on the beach at low tide, with the fading light of sunset behind. In the background, other boats float on the Msasani Bay, and several high-rise buildings are visible to the right on the Masaki peninsula.

    For well over a decade, working with the .NET framework meant running Windows. With the release of .NET Core in 2016, developers were granted the freedom to choose their OS, including Linux; no longer were we bound to Windows. However, few took the plunge, at least in my experience. Why? Well, we are comfortable with what we know, and afraid of what we don’t.

    The truth is that building a .NET application on Linux is not that hard, once you get over a few minor bumps in the road. And there are many advantages to this approach, including flexibility, simplicity, and lower costs.

    To demonstrate this, we will create a simple .NET MVC web application that connects to Postgres. Then, we will host the app on Linux with Nginx. Shall we start?

    Preparing the database

    First, you’ll want to install Postgres locally. If you’re using a Mac, this step is very easy. Simply install Postgres.app and you’ll be ready to go.

    If you’re using Windows, check out the Windows Installers page on the Postgres website to download the latest installer.

    Creating the projects

    To develop .NET 6 apps, you will need to install Visual Studio 2022. Check out the Visual Studio downloads …


    dotnet postgres linux

    Creating a Messaging App Using Spring for Apache Kafka, Part 5

    Kürşat Kutlu Aydemir

    By Kürşat Kutlu Aydemir
    October 31, 2022

    Close up photo of 5 pencils on a faux wood grain desk. The center pencil’s coating is a bright orange, while the other four are a dark green, almost black.

    I guess this is the longest break between posts in this series. But finally I had a chance to prepare a working example to finalize this series. So, up-to-date code is available in the GitHub repository.

    Activation and Login

    This was already implemented in the previous parts. However, we haven’t shown it in action yet. There are some code fixes and small changes within the workflow of activation and login steps, so you can refer to the GitHub repository for the latest code.

    Authentication and activation are managed through the AuthController class where these activation and login requests are handled. Let’s take a look at the REST endpoints handling these requests and explain the steps.

    Activation

    Our activation step uses a dummy mobile phone number. You can think of it similarly to activating a messaging application (like WhatsApp) using a phone number. I didn’t introduce any restrictions on the phone number for this application, so the phone number activation is just a pseudo-step and you can supply any number. In real life, the phone number activation would use SMS or other activation services to activate your chat application against the user’s phone …


    spring kafka spring-kafka-series java
    Previous page • Page 10 of 217 • Next page