Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
blog
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
nimrod
blog
Commits
5f0a9436
Commit
5f0a9436
authored
4 years ago
by
nimrod
Browse files
Options
Downloads
Patches
Plain Diff
Smaller projects and updates.
parent
a384af02
No related branches found
No related tags found
No related merge requests found
Pipeline
#1430
passed
4 years ago
Stage: test
Stage: deploy
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/misc-updates-may-2021.rst
+87
-0
87 additions, 0 deletions
content/misc-updates-may-2021.rst
with
87 additions
and
0 deletions
content/misc-updates-may-2021.rst
0 → 100644
+
87
−
0
View file @
5f0a9436
Misc. projects and updates
==========================
:date: 2021-05-11
:summary: A few small project and an update for May 2021.
I have a few smaller projects that I never blogged about and now might be a good
time.
Presentation toolkit
--------------------
I like Markdown and Vim, I don't like PowerPoint. On enough occasions I was
asked to present and I built a workflow to make my life easier. For that I have
a `container image <https://git.shore.co.il/nimrod/presentation>`_ with all of
the tools that I require. There's an example presentation in that repo and
there's also a GitLab `CI template
<https://git.shore.co.il/shore/ci-templates/-/blob/master/templates/presentation.yml>`_
for those using GitLab and wish to integrate it in their pipeline. For me,
creating presentations in Markdown and DOT is much faster and I find the results
(especially when dealing with code) much nicer.
CloudWatch logs container image
-------------------------------
When I started working with AWS ECS I had trouble debugging deployment issues.
The logs in the ECS console were not complete and the container logs didn't hold
the answers either. After a few times I had to login to EC2 instances and tail
the ECS agent logs, I decided that sending those to CloudWatch logs is needed to
better deal with such issues. I created `another container image
<https://git.shore.co.il/nimrod/cw-logs-docker>`_ that has the CloudWatch plugin
for the AWS CLI. With that you can send the ECS agent logs (or any other log
file) to CloudWatch Logs. Deploying it as an ECS service (set the scheduling to
daemon) and having it run on all of the ECS instances solved that issue for me.
Cron container image
--------------------
Several services that I run need containerized Cron. However, regular Cron
daemons aren't suited for running in a container (they remove environment
variables before starting jobs, they log to syslog, etc.). Aptible created a
Cron daemon suitable for containers named `Supersonic
<https://github.com/aptible/supercronic>`_, however there's ready container
image so I created one. You can see it at in my `GitLab instance
<https://git.shore.co.il/nimrod/cron-docker>`_.
The image can be used in 2 ways. You can it in a multi-stage build and copy the
Supersonic binary from it.
.. code:: Dockerfile
FROM registry.shore.co.il/cron as supersonic
FROM alpine:latest
COPY --from=supersonic /usr/local/bin/supersonic /usr/local/bin/
Or you can build on top of it (``ONBUILD`` instructions copy the ``crontab``
file and validate it).
.. code:: Dockerfile
FROM registry.shore.co.il/cron
COPY script /usr/local/bin/
USER root
RUN apk add --update --no-cache aws-cli
USER nobody
Lastly, updates
---------------
Subscribers to my blog might have noticed that I've been blogging rather
profusely this last week. The reason is that I've finished the contract I had
with my last employer. I've taken a short break and now I'm looking for work
again. Right now I'm available for freelance work if something interesting comes
up. Otherwise, I'm looking for long-term work. If anyone you know (or you are
yourself) is looking for DevOps/ SRE/ infrastructure engineer with a preference
for simple and effective tools and a strong tendency for open source software,
drop me a message at `nimrod@shore.co.il <mailto:nimrod@shore.co.il>`_.
The reason for the excessive blogging (apart from the fact that I now have free
time and I hope that someone somewhere finds my work interesting) is that I hope
save time. I see that although almost all of what I wrote is publicly available
in `my GitLab instance <https://git.shore.co.il/explore>`_, people apparently
don't look too closely go just by my `résumé <https://www.shore.co.il/about>`_.
I hope that these last few blog posts make it more apparent who I am, what it is
that I do and my approach to things. Thus saving both the interviewers and me
some time.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment