Sign inSign up

opsforge/anvil

By opsforge

•Updated almost 2 years ago

Core image for the anvil toolkit

Image
1

1.1K

opsforge/anvil repository overview

⁠opsforge ANViL

The opsforge anvil (a renaming of the opsforge stack 2.0) is an all-in-one development solution, that aims to deliver a development platform that is:

  • using browser accessible web-apps (no terminal emulator or IDE needed / even on Windows)
  • built on docker-native and container-based services
  • structured and configured by docker-compose
  • relying on OSS-only components
  • swarm-compatible for scale-out needs (e.g larger dev environments)
  • has in-built logging and audit (for collaboration and record keeping)
  • highly customisable (modular)
  • easly reproducable and replacable
  • version controlled
  • platform and infrastructure agnostic
  • can run on localhost and AWS the same way
Project names and imagesProject HealthComments
opsforge/anvil Build health: Codeship Status for opsforgeio/opsforge⁠ Code health: Issue CountUbuntu container with tools and shell
docker.elastic.co/logstash/logstash:6.0.1 docker.elastic.co/elasticsearch/elasticsearch:6.0.1 docker.elastic.co/kibana/kibana:6.0.1N/ALogging and collector engine
opsforge/splunk-light N/ALogging and collector engine

Components:

NamePurposeAccessibility
(plugin) Cloud9 IDEDevelopment interfaceBrowser window
anvilZSH (shell) through Butterfly, pre-built CLIs and git controlBrowser window or Docker shell
(plugin) Apache GuacamoleRemote desktop, VNC, TTY, etc access (optional)Browser window
(plugin) portainerDocker engine access and container accessBrowser window or API
(plugin) ELKAudit and shell logging (optional)Browser window or API
(plugin) Splunk Light (C)Audit and shell logging (optional)Browser window or API

⁠Deployment

⁠Pre-deployment steps

It's recommended to create a new folder in the destination directory first. The name of the folder can be anything the OS supports.

⁠If using ELK
  1. cd into the folder you created
  2. mkdir -p ./es_data
  3. chmod -R 777 ./es_data

This will resolve any issues with ownership when the ES container is starting up.

⁠If using Splunk Light
  1. cd into the folder you created
  2. mkdir -p ./splunk-data && touch ./splunk-data/splunk-launch.conf

This will resolve launch issues with the Splunk Light container.

⁠Deploying the stack

The recommended way to deploy anvil is through docker-compose. Make sure your machine has the latest version of docker engine and docker-compose installed. You can check from your command line using docker -v and docker-compose -v

Either clone this project repository to your machine using git or just download the docker-compose.yaml file from the project root to a folder on your machine, cd into that folder and type docker-compose -p anvil up -d

⁠Removal

To delete the stack, simply cd into your project folder and type docker-compose -p anvil down. Make sure you remove content from any persisted data mounts manually.

⁠Usage

hostname will be either localhost or if you deployed to another machine, the DNS record / IP for that.

⁠Customization

You are free to comment out / add in parts of the docker-compose to disable or remove services on startup. You can apply your changes with a simple docker-compose -p anvil up -d --remove-orphaned on an active deployment.

You can also make use of portainer on port 9000. After logging in and connecting in to the local docker engine, you can stop / start / create / remove containers on-demand through the web UI or its API.

⁠WIP (to-be-done)

  • Guacamole doesn't play nice with private DNS servers (public records seem to be fine)
  • Desktop copy/paste doesn't seem to work in Guacamole and drive sharing is flaky
  • anvil container doesn't include a puppet cli yet
  • Logstash doesn't support multiline TCP intake since its previous version update. A line sent to the listener remains a single line.
  • Create a read-the-docs page for the project
  • YouTube demo video

Tag summary

Content type

Image

Digest

sha256:eb1ed555d…

Size

1 GB

Last updated

almost 2 years ago

docker pull opsforge/anvil