Comments (5)
It does appear overly-complicated at first glance, but the separate commands are an artifact of the plugin-oriented nature of InfraKit. Since plugins are daemons that communicate via sockets, they are built and executed independently. Without language-level support for dynamic library loading, i'm not sure there's a better way. Any ideas?
from deploykit.
@wfarner You could use git-style sub-command resolution.
from deploykit.
@stevvooe not a good fit here, since plugins will be coming from different build sources, and can't be expected to be placed in the same directory.
from deploykit.
@wfarner Git doesn't require this. It just does a search through a path variable. They don't need to be in the same directory. exec.LookPath
actually searches all paths. So, if you're using two projects, you just do PATH=$PROJ_ONE_PATH:$PROJ_TWO_PATH
.
from deploykit.
Capturing offline discussion with @stevvooe, a CLI-oriented flow won't work well across plugin boundaries as it would require CLI-specific APIs for plugin communication (e.g. surfacing help text, arguments, output, etc). The long-term goal is to delegate plugin management to the environment InfraKit is used in. For example, in Docker Engine we will provide scaffolding to run them as Docker plugins.
from deploykit.
Related Issues (20)
- New local CLI returning 0 if the plugin does not exist
- Enrollment controller template indexing rendering "<no value>" HOT 2
- Move repo to infrakit/infrakit
- Group controller always calling instance plugin with "properties=true" HOT 4
- Force manager leadership change on during manager rolling update HOT 3
- Cascading deletes using the terraform plugin HOT 3
- Pacing of Rolling updates HOT 1
- Swarm node garbage collection HOT 4
- Error: Property 'Box' must be set
- Request canceled client timeout HOT 2
- Update group rolling update polices
- Confusing/Outdated LinuxKit tutorial HOT 5
- Issues with the Cloudformation Example
- feat: Homebrew HOT 2
- Tutorial Fails with Client.Timeout HOT 2
- Use case documentation needed: provisioning VM using libvirt HOT 9
- Libvirt init section doesn't work: Permission denied
- Please upgrade libvirt HOT 1
- Renaming this project HOT 6
- Is deploykit going to support Apache CloudStack?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deploykit.