<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Boatswain Blog</title>
    <link>https://blog.boatswain.io/</link>
    <description>Recent content on Boatswain Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 30 Aug 2021 14:06:46 +0800</lastBuildDate>
    <atom:link href="/" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Disable log collection in Boatswain</title>
      <link>https://blog.boatswain.io/post/disable-log-collection-in-boatswain/</link>
      <pubDate>Mon, 30 Aug 2021 14:06:46 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/disable-log-collection-in-boatswain/</guid>
      <description>New Boatswain Agent and Web portal We have collected some feedbacks from our pilot partnerships and we released a new web portal (version 0.1.9) in June 2021. And today we also released a new version of Boatswain (Agent version 0.2.13). In this new version, you can disable the log collection by altering the boatswain.yml.
The new Boatswain configration file You can find the new configurable attribute called Send Log:</description>
    </item>
    
    <item>
      <title>Setting the time interval of metrics collection in Boatswain</title>
      <link>https://blog.boatswain.io/post/setting-the-time-interval-of-metrics-collection-in-boatswain/</link>
      <pubDate>Thu, 13 Feb 2020 12:12:31 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/setting-the-time-interval-of-metrics-collection-in-boatswain/</guid>
      <description>Boatswain Agent 0.2.12 is released! Earlier this week we have released a new version of Boatswain (Agent version 0.2.12). Please follow this update guide for different Linux distros. If you are running Boatswain as a container, just use the 0.2.12 image available from Docker Hub.
The new Period attribute In this release, we have added a new configurable attribute called Period which is the collection time interval of the Server Host and the Docker metrics.</description>
    </item>
    
    <item>
      <title>Real time notification on Docker container status</title>
      <link>https://blog.boatswain.io/post/real-time-notification-on-docker-container-status/</link>
      <pubDate>Sat, 18 Jan 2020 17:16:55 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/real-time-notification-on-docker-container-status/</guid>
      <description>In the recent release of the Boatswain web portal (version 0.1.6), we have implemented a simple real time notification mechanism on the Docker container status. We hope this is helpful to engineer responding quickly to any unexpected issue happen on their container.
Setup the real time notification Now, Boatswain user could setup the real time notification on the Notification Settings page which in under the Settings menu on the top right hand corner.</description>
    </item>
    
    <item>
      <title>Monitor Kubernetes cluster by running Boatswain as a DaemonSet</title>
      <link>https://blog.boatswain.io/post/monitor-k8s-cluster-by-running-boatswain-as-a-daemonset/</link>
      <pubDate>Thu, 09 Jan 2020 15:28:27 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/monitor-k8s-cluster-by-running-boatswain-as-a-daemonset/</guid>
      <description>In a Kubernetes cluster, each node has a container runtime for running containers in pods. Kubernetes supports various container runtimes including:
 Docker containerd CRI-O  So if the Kubernetes cluster is using Docker as container runtime, we could install Boatswain on the nodes and monitoring its status as well as collecting the container logs.
NOTE: The example in this article is for experimental purpose and we do not suggest using Boatswain in any production Kubernetes cluster.</description>
    </item>
    
    <item>
      <title>Monitor your Docker container status in real time</title>
      <link>https://blog.boatswain.io/post/monitor-your-docker-container-status-in-real-time/</link>
      <pubDate>Fri, 13 Dec 2019 16:45:27 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/monitor-your-docker-container-status-in-real-time/</guid>
      <description>The new Container Status dashboard! In the recent update of Boatswain (agent version 0.2.11), it keeps track of all the container statuses, no matter running or stopped, and display them on the new Container Status dashboard implemented on the Boatswain.io.
The Container Status Timeline    Container Status Timeline
   With the timeline above, we could get a rough idea on the recent lifecycle of any container.</description>
    </item>
    
    <item>
      <title>Handling HTTP request in Go Echo framework (2)</title>
      <link>https://blog.boatswain.io/post/handling-http-request-in-go-echo-framework-2/</link>
      <pubDate>Thu, 18 Apr 2019 17:10:36 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/handling-http-request-in-go-echo-framework-2/</guid>
      <description>Update @ 2019-12-13: Starting from Go 1.13, please use the built-in Go Module to manage dependencies.
This is the second post about handling HTTP request in Echo framework and we will continue to work on the example we made previously.
 Handling HTTP request in Go Echo framework (1)  This time we will create a simple HTML form and submit it as a POST request.</description>
    </item>
    
    <item>
      <title>Handling HTTP request in Go Echo framework (1)</title>
      <link>https://blog.boatswain.io/post/handling-http-request-in-go-echo-framework-1/</link>
      <pubDate>Tue, 09 Apr 2019 01:03:12 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/handling-http-request-in-go-echo-framework-1/</guid>
      <description>Update @ 2019-12-13: Starting from Go 1.13, please use the built-in Go Module to manage dependencies.
In the last post, we have discussed about how we could setup nested templates in Echo framework.
 Setup nested HTML template in Go Echo web framework  In the following sections, we will move on and see how we could make HTTP request in Echo server and render the result back to the client.</description>
    </item>
    
    <item>
      <title>Setup nested HTML template in Go Echo web framework</title>
      <link>https://blog.boatswain.io/post/setup-nested-html-template-in-go-echo-web-framework/</link>
      <pubDate>Fri, 16 Nov 2018 11:24:44 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/setup-nested-html-template-in-go-echo-web-framework/</guid>
      <description>Update @ 2019-12-13: Starting from Go 1.13, please use the built-in Go Module to manage dependencies.
Echo is a lightweight but complete web framework in Go for building RESTful API. It is fast and includes a bunch of middleware for handling the whole HTTP request-response cycle. For the rendering part, it works with any template engine but i pick the standard html/template package for the purpose of simplicity.</description>
    </item>
    
    <item>
      <title>Running Boatswain as a container</title>
      <link>https://blog.boatswain.io/post/running-boatswain-as-a-container/</link>
      <pubDate>Mon, 02 Jul 2018 17:55:29 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/running-boatswain-as-a-container/</guid>
      <description>Boatswain anywhere Today Boatswain is available on Docker Hub which allows running Boatswain on any Docker server and it is independent from the OS platform. The project is hosted on GitLab and if you have any questions with regard to Boatswain, free feel to create an issue there.
Starting Boatswain as a container First of all, register a Boatswain account to get your BOATSWAIN_TOKEN. With this token, you can now read the Docker logs as well as those system metrics on app.</description>
    </item>
    
    <item>
      <title>Docker container log rotation</title>
      <link>https://blog.boatswain.io/post/docker-container-log-rotation/</link>
      <pubDate>Thu, 14 Jun 2018 11:08:42 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/docker-container-log-rotation/</guid>
      <description>We all need logs! Sometimes working with Docker makes me feel like working with a black box especially when playing with the Docker image from by the community and it doesn&amp;rsquo;t go the way as expected. In many cases, reading logs takes up a large portion of time for debugging.
    This article is about setting up log rotation for Docker containers.</description>
    </item>
    
    <item>
      <title>Boatswain Public BETA-I released</title>
      <link>https://blog.boatswain.io/post/boatswain-public-beta-i-released/</link>
      <pubDate>Wed, 06 Jun 2018 23:59:59 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/boatswain-public-beta-i-released/</guid>
      <description>Finally&amp;hellip; It has been almost 3 years (Early August 2015) since we came up with the idea of Boatswain and today our first public beta is&amp;hellip;
    🌈 Sign up for a Boatswain account 🌈
 Why it takes so long?
 🐢
 Time to market is important.
 🙈
I have heard many sincere advice in the past two years from my friends and I would like to thank everyone of them who has spent their time on Boatswain.</description>
    </item>
    
    <item>
      <title>Driving web browser in Go</title>
      <link>https://blog.boatswain.io/post/driving-web-browser-in-go/</link>
      <pubDate>Tue, 06 Feb 2018 16:20:29 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/driving-web-browser-in-go/</guid>
      <description>This article is about driving web browser in Golang.
Agouti Agouti is an acceptance and testing framework. It could be used together with Ginkgo which is a BDD testing framework and Gomega matcher/assertion library if you are looking for a complete testing solution for your Go project.
The following example only make use of Agouti to drive a browser.
Create the project inside $GOPATH Create the main.</description>
    </item>
    
    <item>
      <title>Manage Go dependencies using dep</title>
      <link>https://blog.boatswain.io/post/manage-go-dependencies-using-dep/</link>
      <pubDate>Sat, 20 Jan 2018 17:08:35 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/manage-go-dependencies-using-dep/</guid>
      <description>Update @ 2019-12-13: Starting from Go 1.13, please use the built-in Go Module to manage dependencies.
Update @ 2018-11-26: Technology is not just moving at a breakneck speed but also changing rapidly. Within a year, this article is OUTDATED!
This is badly out of date! Go has had built-in dependency management since 1.11, and dep is no longer a thing.
&amp;mdash; John Arundel (@bitfield) November 24, 2018  And according to the dep project page:</description>
    </item>
    
    <item>
      <title>Web UI testing in NodeJS</title>
      <link>https://blog.boatswain.io/post/web-ui-testing-in-nodejs/</link>
      <pubDate>Mon, 15 Jan 2018 12:36:29 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/web-ui-testing-in-nodejs/</guid>
      <description>In this article i would like to demonstrate some tools in NodeJS for testing web UI. They are:
 Mocha Chai CasperJS PhantomJS  Mocha Mocha is a Javascript framework for testing. It has a BDD-style syntax (BDD: Behavior-driven development) and allows asychronous call testing. It also supports different assertion libraries and in our exampe we will use chai for assertion.
Chai Chai is a BDD/TDD assertion library for NodeJS and the browser that can be delightfully paired with any Javascript testing framework.</description>
    </item>
    
    <item>
      <title>Build Go project with GitLab CI</title>
      <link>https://blog.boatswain.io/post/build-go-project-with-gitlab-ci/</link>
      <pubDate>Thu, 14 Dec 2017 12:52:15 +0800</pubDate>
      
      <guid>https://blog.boatswain.io/post/build-go-project-with-gitlab-ci/</guid>
      <description>In our previous blog post - Manage Go dependencies using Glide, we have a simple Go project to demonstrate dependency management using Glide. Let&amp;rsquo;s move forward to build the project on GitLab CI.
Before we start I have created a new project under $GOPATH and copy the all the files from the glide-example. That includes:
 .gitignore glide.lock glide.yaml README.md (optional) vendor/  Make sure they could be built and run locally.</description>
    </item>
    
  </channel>
</rss>
