T: 06-79-21-39-53
E: arthurh.halet@gmail.com
ArthurHlt | basicauth-transport | buildpack-always-fail | cf-chocolatey |
A simple transport to wrap other transport to add basic auth to requests | A buildpack to show what's wrong in cloudfoundry's dea | A chocolatey package to install cloudfoundry cli | |
Voir le readme
Hi there, I'm Arthur π
Get some stats about me on githubMake stats using https://github.com/anuraghazra/github-readme-stats thanks to him |
Voir le readme
basicauth-transportA simple transport to wrap other transport to add basic auth to request. Usage
|
Voir le readme
Not Found |
Voir le readme
cf-chocolateyA chocolatey package to install official command line client for Cloud Foundry. Installation
RebuildTo maintain always up-to-date this choco package with https://github.com/cloudfoundry/cli I've made a php script which can be run everyday. To try it run with php in cli command It will:
|
cfron | ciwatch | deaph | dialog-watson-client |
temp repo for cron on cf over dkron | This is a useful tool to see all status from your ci tools in a wink (tools like travis, scrutinizer, SensioLabsInsight or CodeClimate). | A php deployer | Client for dialog watson module |
Voir le readme
404: Not Found |
Voir le readme
CIWatchThis is a useful tool to see all status from your ci tools in a wink (tools like travis, scrutinizer, SensioLabsInsight or CodeClimate). It provides also tools to directly create CI environment in one time and permit you to restart inspection on a repo. [ |
Voir le readme
What is deaphDeaph is a deployer very flexible which you can use to deploy what you want through FTP, SFTP, Dropbox, Zip, Local or Amazon S3 After deploying your files you can use step as the same way as puppet or chief. InstallationDeaph is How to use |
Voir le readme
dialog-watson-clientClient for dialogs watson module Requirements
InstallationInstall with pip: Run the playgroundSimply run in command line: At the first launch it will create a config file located to Usage for developersBootstrap example:
Note: If your file is in xml (and you have |
dockerfiles | echo-colors | emitter | ep_cloudfoundry |
Repo of dockerfiles | Echo in CLI with colors easily by using colorstring | The emitter package implements a channel-based pubsub pattern. The design goals are to use Golang concurrency model instead of flat callbacks and to design a very simple API that is easy to consume. | Etherpad lite plugin for cloudfoundry support |
Voir le readme
dockerfilesRepo of dockerfiles |
Voir le readme
echo-colorsEcho in CLI with colors easily by using colorstring. InstallationOn *nix systemYou can install this via the command-line with either via curl
via wget
On windowsYou can install it by downloading the From go command lineSimply run in terminal:
Usage
|
Voir le readme
Emitter
The emitter package implements a channel-based pubsub pattern. The design goals are to use Golang concurrency model instead of flat callbacks and to design a very simple API that is easy to consume. Why?Go has expressive concurrency model but nobody uses it properly for pubsub as far as I can tell (in the year 2015). I implemented my own solution as I could not find any other that meets my expectations. Please, read this article for more information. What it does?
Brief example
Constructor
By default, the emitter uses one goroutine per listener to send an event. You can change that behavior from asynchronous to synchronous by passing WildcardThe package allows publications and subscriptions with wildcard. This feature is based on Example:
Note that the wildcard uses MiddlewaresAn important part of pubsub package is the predicates. It should be allowed to skip some events. Middlewares address this problem.
The middleware is a function that takes a pointer to the
There are two ways to add middleware into the event emitting flow:
The first one add middlewares only for a particular listener, while the second one adds middlewares for all events with a given topic. For example:
FlagsFlags needs to describe how exactly the event should be emitted. The available options are listed here. Every event( There are several predefined middlewares to set needed flags: You can chain the above flags as shown below:
CancellationGolang provides developers with a powerful control for its concurrency flow. We know the state of a channel and whether it would block a go routine or not. So, by using this language construct, we can discard any emitted event. It's a good practice to design your application with timeouts so that you cancel the operations if needed as shown below: Assume you have time out to emit the events:
It's pretty useful to control any goroutines inside an emitter instance. Callbacks-only usageusing the emitter in more traditional way is possible, as well. If you don't need the async mode or you very attentive to the application resources, then the recipe is to use an emitter with zero capacity or to use
GroupsGroup merges different listeners into one channel. Example:
Also you can combine several groups into one. See the api here. EventEvent is a struct that contains event information. Also, th event has some helpers to cast various arguments into Example:
LicenseMIT |
Voir le readme
ep_cloudfoundry |
annotations | arhframe | iocart | util |
The arhframe php framework. | Ioc which use the spring style. | Util libraries for arhframe | |
Voir le readme
Not Found |
Voir le readme
Not Found |
Voir le readme
IocArtIocArt is an another IOC (inversion of Control) and he is close too Spring Ioc style. The main point is that IocArt have his context file in yml. Bean is "class" wich you can inject inside their properties:
You can also import other yaml context in a yaml context InstallationThrough Composer, obviously:
Usage
Examples |
Voir le readme
utilUtil libraries for arhframe |
yamlarh |
Yml injector for arhframe in standalone |
Voir le readme
YamlarhYml injector for arhframe in standalone. You can inject into your yaml:
You can also import other yaml inside a yaml file for overriding InstallationThrough Composer, obviously:
Usage
ExempleVariable injectionVariable injection is hierarchical, it will find in this order:
Yaml file:
Php file:
Output:
Object injectionIt use snakeyml (yaml parser for java) style:
ImportImport are also hierarchical the last one imported will override the others. Use @import in your file: file1.yml
file2.yml
After parsing file1.yml, yml will look like:
IncludeYou can include a yaml file into another: file1.yml
file2.yml
After parsing file1.yml, yml will look like:
|
bosh-cli | bosh_exporter | cachet-monitor | cf-basic-auth-route-service | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New BOSH CLI (beta) | BOSH Prometheus Exporter | Monitors a URL and posts data points to cachet | DO NOT USE - this is used for Terraform CF provider acceptance testing | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voir le readme
bosh CLI
UsageClient LibraryThis project includes See docs/example.go for a live short usage example. Developer Notes |
Voir le readme
BOSH Prometheus Exporter
A Prometheus exporter for BOSH metrics. Please refer to the FAQ for general questions about this exporter. Architecture overviewInstallationBinariesDownload the already existing binaries for your platform:
From sourceUsing the standard
DockerTo run the bosh exporter as a Docker container, run:
Cloud FoundryThe exporter can be deployed to an already existing Cloud Foundry environment:
Modify the included application manifest file to include your BOSH properties. Then you can push the exporter to your Cloud Foundry environment:
BOSHThis exporter can be deployed using the Prometheus BOSH Release. UsageFlags
[1] When BOSH delegates user managament to UAA, either MetricsThe exporter returns the following metrics:
The exporter returns the following
The exporter returns the following
The exporter returns the following
Service DiscoveryIf the
The list of targets can be filtered using the ContributingRefer to the contributing guidelines. LicenseApache License 2.0, see LICENSE. |
Voir le readme
Not Found |
Voir le readme
Basic Authentication Route ServiceNOTE This is still a work in progress, so the password is not yet the reverse of the URL as promised below. It is either defaulted to Using the new route services functionality available in Cloud Foundry, you can now bind applications to routing services. Traffic sent to your application is routed through the bound routing service before continuing onto your service. This allows you to perform actions on the HTTP traffic, such as enforcing basic authentication (this sample app), rate limiting or logging. For more details see: Getting StartedThere are two components and thus steps to getting this up and running. Deploying the service brokerFirst navigate to the Next you need to register this as a private service broker in your space, you can change the default username and password in the
You should now be able to see the service in the marketplace if you run Deploying the routing serviceFirst navigate to the Protecting an application with basic authenticationNow you have setup the supporting components, you can now protect your application with basic auth! First create an instance of the service from the marketplace, here we are calling our instance
Next, identify the application and its URL which you wish to protect. Here we have an application called
We can validate that we can access this URL without providing any credentials
Then you need to bind the service instance you created called
You can validate the route for
All of that looks good, so the last step is to validate we can no longer view the
and with credentials
Success! OverviewService BrokerThis is a service broker which conforms to the Services API. This registers a service in the market place called It uses the URL before the first . (dot), without any special characters or spaces and then in reverse. For example:
Why is the password is in reverse!? Because it's a pretty simple implementation, it also means the routing service can be stateless as we can determine what the password should be during runtime, which makes for a nice simple reference implementation. TODO
|
cf-java-client | cf-ssh | cf-uaa-guard-service | cf-webui | ||||||||||||||
Java client library and tools for Cloud Foundry | SSH into a running container for your Cloud Foundry application, run one-off tasks, debug your app, and more. | UAA proxy as a service | Single page CloudFoundry web user interface using AngularJS and Bootstrap | ||||||||||||||
Voir le readme
Cloud Foundry Java ClientThe
Most projects will need two dependencies; the Operations API and an implementation of the Client API. For Maven, the dependencies would be defined like this:
The artifacts can be found in the Spring release and snapshot repositories:
For Gradle, the dependencies would be defined like this:
The artifacts can be found in the Spring release and snapshot repositories:
UsageBoth the
|
Name | Description |
---|---|
TEST_HOST |
The host of Cloud Foundry instance. Typically something like api.local.micropcf.io . |
TEST_ORGANIZATION |
The default organization to use for testing |
TEST_PASSWORD |
The test user's password |
TEST_SKIPSSLVALIDATION |
Whether to skip SSL validation when connecting to the Cloud Foundry instance. Typically true when connecting to a MicroPCF instance. |
TEST_SPACE |
The default space to use for testing |
TEST_USERNAME |
The test user's username |
Pull requests and Issues are welcome.
This project is released under version 2.0 of the Apache License.
SSH into a running container for your Cloud Foundry application, run one-off tasks, debug your app, and more.
Initial implementation requires the application to have a manifest.yml
.
Also, cf-ssh
requires that you run the command from within the project source folder. It performs a cf push
to create a new application based on the same source code/path, buildpack, and variables. Once CF Runtime supports copy app bits #78847148, then cf-ssh
will be upgraded to use app bit copying, and not require local access to project app bits.
It is desired that cf-ssh
works correctly from all platforms that support the cf
CLI.
Windows is a target platform but has not yet been tested. Please give feedback in the Issues.
This tool requires the following CLIs to be installed
It is assumed that in using cf-ssh
you have already successfully targeted a Cloud Foundry API, and have pushed an application (successfully or not).
This tool also currently requires outbound internet access to the http://tmate.io/ proxies. In future, to avoid the requirement of public Internet access, it would be great to package up the tmate server as a BOSH release and deploy it into the same infrastructure as the Cloud Foundry deployment.
ssh
CLI?This project is written in the Go programming language, and there is a candidate library go.crypto that could have natively supported an interactive SSH session. Unfortunately, the SSL supports a subset of ciphers that don't seem to work with tmate.io proxies [stackoverflow]
Using the go.crypto
library I was getting the following error. In future, perhaps either tmate.io or go.crypto will change to support each other.
unable to connect: ssh: handshake failed: ssh: no common algorithms
Download a pre-compiled release for your platform. Place it in your $PATH
or %PATH%
and rename to cf-ssh
(or cf-ssh.exe
for Windows).
Alternately, if you have Go setup you can build it from source:
go get github.com/cloudfoundry-community/cf-ssh
cd path/to/app
cf-ssh -f manifest.yml
To generate the pre-compiled executables for the target platforms, using gox:
gox -output "out/{{.Dir}}_{{.OS}}_{{.Arch}}" -osarch "darwin/amd64 linux/amd64 windows/amd64 windows/386" ./...
They are now in the out
folder:
-rwxr-xr-x 1 drnic staff 4.0M Oct 25 23:05 cf-ssh_darwin_amd64
-rwxr-xr-x 1 drnic staff 4.0M Oct 25 23:05 cf-ssh_linux_amd64
-rwxr-xr-x 1 drnic staff 3.4M Oct 25 23:05 cf-ssh_windows_386.exe
-rwxr-xr-x 1 drnic staff 4.2M Oct 25 23:05 cf-ssh_windows_amd64.exe
VERSION=v0.1.0
github-release release -u cloudfoundry-community -r cf-ssh -t $VERSION --name "cf-ssh $VERSION" --description 'SSH into a running container for your Cloud Foundry application, run one-off tasks, debug your app, and more.'
for arch in darwin_amd64 linux_amd64 windows_amd64 windows_386; do
github-release upload -u cloudfoundry-community -r cf-ssh -t $VERSION --name cf-ssh_$arch --file out/cf-ssh_$arch*
done
(Based on https://github.com/benlaplanche/cf-basic-auth-route-service)
Using the new route services functionality available in Cloud Foundry, you can now bind applications to routing services. Traffic sent to your application is routed through the bound routing service before continuing onto your service.
This allows you to perform actions on the HTTP traffic, such as enforcing authentication, rate limiting or logging.
For more details see:
There are two components and thus steps to getting this up and running. The broker and the filtering proxy.
Before getting started you will need:
Uncomment and fill in the environment variables required as the sample in broker-manifest.yml.sample
and copy the manifest to broker-manifest.yml
.
Run cf push -f broker-manifest.yml
to deploy the uaa-guard-proxy
app.
Uncomment and fill in the environment variables required as the sample in proxy-manifest.yml.sample
and copy the manifest to proxy-manifest.yml
.
Run cf push -f proxy-manifest.yml
to deploy the uaa-guard-proxy
app.
Once the broker is deployed, you can register it:
cf create-service-broker \
uaa-auth-broker \
$GUARD_BROKER_USERNAME \
$GUARD_BROKER_PASSWORD \
https://uaa-guard-broker.my-paas.com \
--space-scoped
Once you've created the service broker, you must enable-service-access
in
order to see it in the marketplace
.
cf enable-service-access uaa-auth
You should now be able to see the service in the marketplace if you run cf marketplace
Now you have setup the supporting components, you can now protect your application with auth!
First create an instance of the service from the marketplace, here we are calling our instance authy
$cf create-service uaa-auth uaa-auth authy
Next, identify the application and its URL which you wish to protect. Here we have an application called hello
with a URL of https://hello.my-paas.com
Then you need to bind the service instance you created called authy
to the hello.my-paas.com
route
β cf bind-route-service my-paas.com authy --hostname hello
Binding may cause requests for route hello.my-paas.com to be altered by service instance authy. Do you want to proceed?> y
Binding route hello.my-paas.com to service instance authy in org org / space space as admin...
OK
You can validate the route for hello
is now bound to the authy
service instance
β cf routes
Getting routes for org org / space space as admin ...
space host domain port path type apps service
space hello my-paas.com hello authy
All of that looks good, so the last step is to validate we can no longer view the hello
application without providing credentials!
β curl -k https://hello.my-paas.com
Unauthorized
and if you visit it you will be redirected to UAA.
This service will forward a header X-AUTH-USER
with the email of the logged in user.
CF WebUI is a modern single-page web-frontend for Cloud Foundry based on AngularJS and Bootstrap.
Cloud Foundry is the OpenSource Platform as a Service (PaaS) Framework on which many PaaS offerings are based (e.g. Pivotal Web Services, HP Helion, IBM BlueMix, Swisscom Application Cloud, etc.). It allows the developers to provide, manage and scale their application in the cloud very easily and quickly. For end-users Cloud Foundry provides a REST based API and a command line interface (CLI) client. No official free and open source web front-end is currently available.
1. Clone the project: git clone https://github.com/icclab/cf-webui
<br>
2. Change directory to cf-webUI: cd cf-webUI
<br>
3. Change the manifest.yml
to your options and the endpoint to your desired Cloud Foundry instance. E.g.: <br>
---
applications:
- name: cf-webui
memory: 128M
host: console-cf-webui-${random-word}
path: ./build
buildpack: staticfile_buildpack
env:
API_ENDPOINT: https://api.run.pivotal.io
# Use Google DNS by default
NGINX_RESOLVER: 8.8.8.8
#Enforce https is used (using x_forwarded_proto check) .Default: enabled
FORCE_HTTPS: 1
4. Install npm packages: npm install
<br>
5. Build the application using Grunt: grunt build
<br>
6. Push this application to Cloud Foundry using the cf Command Line Interface (CLI): cf push
.<br>
7. Enjoy the CF WebUI!<br>
The current version is an early release (alpha). It is not yet production-ready. Some features are still to come and it may contain major bugs.
Please report bugs and request features using GitHub Issues. For additional information, you can contact the maintainer directly.
Community discussions about CF-WebUI happen in the CF-WebUI-discuss mailing list. Once you subscribe to the list, you can send mail to the list address: icclab-cf-webui@dornbirn.zhaw.ch. The mailing list archives are also available on the web.
Please follow the ICCLab blog for updates.
CF-WebUI is licensed under the Apache License version 2.0. See the LICENSE file.
cf-zsh-autocompletion | cfplayground | cg-deck | cli-plugin-repo | ||||||||||||||||||||
Oh My Zsh tab completion / autocompletion for cloud foundry | Web portal for CF, lets users try out CF with free temp account and interactive tutorials | A web console for managing Cloud Foundry Apps | Public repository for community created CF CLI plugins. | ||||||||||||||||||||
Voir le readme
cf-zsh-autocompletionOh My Zsh (or probably any zsh but YMMV) plugin for cf (Cloud Foundry) autocompletion. See the know issues below for what doesn't work. FutureNow that the CLI supports plugins, I'm considering abandoning this project in favor of a true CLI plugin. InstallationDrop the
Runtime OptionsPersonally I think the short hand options to many CF commands clutter up the tab view, so I don't include them in the default output. If you want them included in the output ExampleType
Known IssuesIt doesn't provide extended help for commands, which would be nice. For instance when you type It doesn't know about parameters for every command yet. It will prompt with spaces, orgs and apps for some commands. El Problemo?Open an issue or submit a PR please! Tracker |
Voir le readme
CF PlaygroundThe goal of this project is to provide an easily accessible environment for users who want to experience Cloud Foundry, without having to setup and to learn the operation of the platform. CF Playground provides an interactive tutorial. Setting up CF PlaygroundThe following instruction is for OSX/Linux, windows support is coming soon. You will need to host your own Cloud Foundry environment (bosh-lite or any full deployment) 1) Ensure that Go version 1.2+ is installed on the system 2) Setup the GOPATH
3) Download CF PLayground
*(Ignore any warnings about "no buildable Go source files") 4) Create a config file * if no 5) Run CF Playground
Limitation
|
Voir le readme
18F Cloud Foundry DeckTech StackSetupCreate a Client with UAAC
Set the environment variablesIf you are testing locally, export these variables. If you are deploying to cloud foundry, modify the manifest.yml
Front endInstall front end dependencies
Running locally
Unit TestingRunning Go unit tests
Running Angular unit testsTest can then be run with the command:
To get a viewable coverage report change the
Acceptance TestsThis project currently uses a combination of Agouti + Ginkgo + Gomega to provide BDD acceptance testing. All the acceptance tests are in the 'acceptance' folder. Setup
Running acceptance tests
Deploying
CIThis project uses Travis-CI
Whatβs a Deck?From Wikipedia: The Sprawl trilogy (also known as the Neuromancer, Cyberspace, or Matrix trilogy) is William Gibson's first set of novels, composed of Neuromancer (1984), Count Zero (1986), and Mona Lisa Overdrive (1988). Cyberspace Deck Also called a "deck" for short, it is used to access the virtual representation of the matrix. The deck is connected to a tiara-like device that operates by using electrodes to stimulate the user's brain while drowning out other external stimulation. As Case describes them, decks are basically simplified simstim units. |
Voir le readme
Cloud Foundry CLI Plugin Repository (CLIPR)
This is a public repository for community created CF CLI plugins. To submit your plugin approval, please submit a pull request according to the guidelines below. *If you are looking for information about the Plugin Repo Server, please go here Submitting Plugins
Running your own Plugin Repo ServerIncluded as part of this repository is the CLI Plugin Repo (CLIPR), a reference implementation of a repo server. For information on how to run CLIPR or how to write your own, please see the CLIPR documentation here. |
cloudstack | codimd | codimd-container | concourse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cloudstack | CodiMD - Realtime collaborative markdown notes on all platforms. | CodiMD container image ressources | BOSH release and development workspace for Concourse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voir le readme
Apache CloudStack
Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform. CloudStack is used by a number of service providers to offer public cloud services, and by many companies to provide an on-premises (private) cloud offering, or as part of a hybrid cloud solution. CloudStack is a turnkey solution that includes the entire "stack" of features most organizations want with an IaaS cloud: compute orchestration, Network-as-a-Service, user and account management, a full and open native API, resource accounting, and a first-class User Interface (UI). CloudStack currently supports the most popular hypervisors: VMware vSphere, KVM, XenServer, XenProject and Hyper-V as well as OVM and LXC containers. Users can manage their cloud with an easy to use Web interface, command line tools, and/or a full-featured query based API. For more information on Apache CloudStack, please visit the website Who Uses CloudStack?
Getting Started
Getting Source RepositoryApache CloudStack project uses Git. The official Git repository is at:
And a mirror is hosted on Github:
The Github mirror is strictly read only and provides convenience to users and developers to explore the code and for the community to accept contributions via Github pull requests. Links
Getting Involved and ContributingInterested in helping out with Apache CloudStack? Great! We welcome participation from anybody willing to work The Apache Way and make a contribution. Note that you do not have to be a developer in order to contribute to Apache CloudStack. We need folks to help with documentation, translation, promotion etc. See our contribution page. If you're interested in learning more or participating in the Apache CloudStack project, the mailing lists are the best way to do that. While the project has several communications channels, the mailing lists are the most active and the official channels for making decisions about the project itself. Mailing lists:
IRC, join us on irc.freenode.net on:
Report and/or check bugs on JIRA and check our developer page for contributing code. News and EventsReporting Security VulnerabilitiesIf you've found an issue that you believe is a security vulnerability in a
released version of CloudStack, please report it to For more details, please visit our security page. LicenseLicensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Please see the LICENSE file included in the root directory of the source tree for extended license details. Notice of Cryptographic SoftwareThis distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information. The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. The following provides more details on the included cryptographic software:
|
Voir le readme
CodiMDCodiMD lets you create real-time collaborative markdown notes on all platforms. Inspired by Hackpad, with more focus on speed and flexibility, and build from HackMD source code. Feel free to contribute. Thanks for using! :smile: Table of Contents
HackMD CE became CodiMDCodiMD was recently renamed from its former name was HackMD. CodiMD is the free software version of HackMD. It was the original Version of HackMD. The HackMD team initiated CodiMD and provided a solid code base. Due to the need of paying bills, A fork was created and called HackMD EE, which is a SaaS (Software as a Service) product available at hackmd.io. We decided to change the name to break the confusion between HackMD and CodiMD, formally known as HackMD CE, as it never was an open core project. Just to more confusion: We are still friends with HackMD :heart: For the whole renaming story, see the related issue Browsers Requirement
InstallationGetting started (Native install)Prerequisite
Instructions
Heroku DeploymentYou can quickly setup a sample Heroku CodiMD application by clicking the button below. If you deploy it without the button, keep in mind to use the right buildpacks. For details check KubernetesTo install use For all further details, please check out the offical CodiMD K8s helm chart. CodiMD by docker containerDebian-based version: Alpine-based version: The easiest way to setup CodiMD using docker are using the following three commands:
Read more about it in the container repository⦠CloudronInstall CodiMD on Cloudron: UpgradeNative setupIf you are upgrading CodiMD from an older version, follow these steps:
We deprecated the older lower case config style and moved on to camel case style. Please have a look at the current Notice: This is not a breaking change right now but in the future We don't use LZString to compress socket.io data and DB data after version 0.5.0. Please run the migration tool if you're upgrading from the old version. We've dropped MongoDB after version 0.4.0. So here is the migration tool for you to transfer the old DB data to the new DB. This tool is also used for official service. ConfigurationThere are some config settings you need to change in the files below.
Environment variables (will overwrite other server configs)
Note: Due to the rename process we renamed all Application settings
|
variables | example values | description |
---|---|---|
debug |
true or false |
set debug mode, show more logs |
domain |
localhost |
domain name |
urlPath |
codimd |
sub URL path, like www.example.com/<urlpath> |
host |
localhost |
host to listen on |
port |
80 |
web app port |
path |
/var/run/codimd.sock |
path to UNIX domain socket to listen on (if specified, host and port are ignored) |
allowOrigin |
['localhost'] |
domain name whitelist |
useSSL |
true or false |
set to use SSL server (if true , will auto turn on protocolUseSSL ) |
hsts |
{"enable": true, "maxAgeSeconds": 31536000, "includeSubdomains": true, "preload": true} |
HSTS options to use with HTTPS (default is the example value, max age is a year) |
csp |
{"enable": true, "directives": {"scriptSrc": "trustworthy-scripts.example.com"}, "upgradeInsecureRequests": "auto", "addDefaults": true} |
Configures Content Security Policy. Directives are passed to Helmet - see their documentation for more information on the format. Some defaults are added to the configured values so that the application doesn't break. To disable this behaviour, set addDefaults to false . Further, if usecdn is on, some CDN locations are allowed too. By default (auto ), insecure (HTTP) requests are upgraded to HTTPS via CSP if useSSL is on. To change this behaviour, set upgradeInsecureRequests to either true or false . |
protocolUseSSL |
true or false |
set to use SSL protocol for resources path (only applied when domain is set) |
urlAddPort |
true or false |
set to add port on callback URL (ports 80 or 443 won't be applied) (only applied when domain is set) |
useCDN |
true or false |
set to use CDN resources or not (default is true ) |
allowAnonymous |
true or false |
set to allow anonymous usage (default is true ) |
allowAnonymousEdits |
true or false |
if allowAnonymous is true : allow users to select freely permission, allowing guests to edit existing notes (default is false ) |
allowFreeURL |
true or false |
set to allow new note creation by accessing a nonexistent note URL |
defaultPermission |
freely , editable , limited , locked , protected or private |
set notes default permission (only applied on signed users) |
dbURL |
mysql://localhost:3306/database |
set the db URL; if set, then db config (below) won't be applied |
db |
{ "dialect": "sqlite", "storage": "./db.codimd.sqlite" } |
set the db configs, see more here |
sslKeyPath |
./cert/client.key |
SSL key path1 (only need when you set useSSL ) |
sslCertPath |
./cert/codimd_io.crt |
SSL cert path1 (only need when you set useSSL ) |
sslCAPath |
['./cert/COMODORSAAddTrustCA.crt'] |
SSL ca chain1 (only need when you set useSSL ) |
dhParamPath |
./cert/dhparam.pem |
SSL dhparam path1 (only need when you set useSSL ) |
tmpPath |
./tmp/ |
temp directory path1 |
defaultNotePath |
./public/default.md |
default note file path1 |
docsPath |
./public/docs |
docs directory path1 |
viewPath |
./public/views |
template directory path1 |
uploadsPath |
./public/uploads |
uploads directory1 - needs to be persistent when you use imageUploadType filesystem |
sessionName |
connect.sid |
cookie session name |
sessionSecret |
secret |
cookie session secret |
sessionLife |
14 * 24 * 60 * 60 * 1000 |
cookie session life |
staticCacheTime |
1 * 24 * 60 * 60 * 1000 |
static file cache time |
heartbeatInterval |
5000 |
socket.io heartbeat interval |
heartbeatTimeout |
10000 |
socket.io heartbeat timeout |
documentMaxLength |
100000 |
note max length |
email |
true or false |
set to allow email signin |
oauth2 |
{baseURL: ..., userProfileURL: ..., userProfileUsernameAttr: ..., userProfileDisplayNameAttr: ..., userProfileEmailAttr: ..., tokenURL: ..., authorizationURL: ..., clientID: ..., clientSecret: ...} |
An object detailing your OAuth2 provider. Refer to the Mattermost or Nextcloud examples for more details! |
allowEmailRegister |
true or false |
set to allow email register (only applied when email is set, default is true . Note bin/manage_users might help you if registration is false .) |
allowGravatar |
true or false |
set to false to disable gravatar as profile picture source on your instance |
imageUploadType |
imgur , s3 , minio , azure or filesystem (default) |
Where to upload images. For S3, see our Image Upload Guides for S3 or Minio |
minio |
{ "accessKey": "YOUR_MINIO_ACCESS_KEY", "secretKey": "YOUR_MINIO_SECRET_KEY", "endpoint": "YOUR_MINIO_HOST", port: 9000, secure: true } |
When imageUploadType is set to minio , you need to set this key. Also checkout our Minio Image Upload Guide |
s3 |
{ "accessKeyId": "YOUR_S3_ACCESS_KEY_ID", "secretAccessKey": "YOUR_S3_ACCESS_KEY", "region": "YOUR_S3_REGION" } |
When imageuploadtype be set to s3 , you would also need to setup this key, check our S3 Image Upload Guide |
s3bucket |
YOUR_S3_BUCKET_NAME |
bucket name when imageUploadType is set to s3 or minio |
1: relative paths are based on CodiMD's base directory
service | settings location | description |
---|---|---|
facebook, twitter, github, gitlab, mattermost, dropbox, google, ldap, saml | environment variables or config.json |
for signin |
imgur, s3, minio, azure | environment variables or config.json |
for image upload |
dropbox(dropbox/appKey ) |
config.json |
for export and import |
service | callback URL (after the server URL) |
---|---|
/auth/facebook/callback |
|
/auth/twitter/callback |
|
github | /auth/github/callback |
gitlab | /auth/gitlab/callback |
mattermost | /auth/mattermost/callback |
dropbox | /auth/dropbox/callback |
/auth/google/callback |
|
saml | /auth/saml/callback |
codimd/
βββ tmp/ --- temporary files
βββ docs/ --- document files
βββ lib/ --- server libraries
βββ public/ --- client files
βββ css/ --- css styles
βββ js/ --- js scripts
βββ vendor/ --- vendor includes
βββ views/ --- view templates
From 0.3.2, we started supporting operational transformation. It makes concurrent editing safe and will not break up other users' operations. Additionally, now can show other clients' selections. See more at http://operational-transformation.github.io/
License under AGPL.
Debian based version:
Alpine based version:
See more here: https://docs.docker.com/
git clone https://github.com/hackmdio/codimd-container.git
codimd-container
directorydocker-compose up
in your terminalHTTP Server listening at port 3000
, it will take few minutes based on your internet connection.Start your docker and enter the terminal, follow below commands:
cd codimd-contianer ## enter the directory
git pull ## pull new commits
docker-compose pull ## pull new containers
docker-compose up ## turn on
If you used the docker-hackmd
repository before, migrating to codimd-container
is easy.
Since codimd-container is basically a fork of docker-hackmd
, all you need to do is replacing the upstream URL.
git remote set-url origin https://github.com/hackmdio/codimd-container.git
git pull
Now you can follow the regular update steps.
We don't use LZString to compress socket.io data and DB data after version 0.5.0. Please run the migration tool if you're upgrading from the old version.
docker-compose.yml
, add expose ports 5432
to hackmdPostgres
docker-compose up
to start your codimd containersmigration-to-0.5.0
and npm install
(see more on above link)config.json
in migration-to-0.5.0
, change its username
, password
and host
to your dockerdocker-compose.yml
, remove expose ports 5432
in hackmdPostgres
codimd-container
, update to version 0.5.0 (see below)Start your docker and enter the terminal, follow below commands:
docker-compose exec database pg_dump hackmd -U hackmd > backup.sql
Similar to backup steps, but last command is
cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hackmd
To install use helm install stable/hackmd
.
For all further details, please check out the offical HackMD K8s helm chart.
The default setting would use pre-build docker image, if you want to build your own containers
uncomment the build
section in the docker-compose.yml
and edit the config.json
.
If you change the database settings and don't use the HMD_DB_URL
make sure you edit the .sequelizerc
.
View license information for the software contained in this image.
This image is officially supported on Docker version 17.03.1-CE.
Support for older versions (down to 1.12) is provided on a best-effort basis.
Please see the Docker installation documentation for details on how to upgrade your Docker daemon.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
You can also reach many of the project maintainers via our #codimd:matrix.org
or the hackmd
channel on Gitter.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Happy CodiMD :smile:
Concourse is a pipeline-based CI system written in Go.
Concourse is built on a few components, all written in Go with cutesy aerospace-themed names. This repository is actually its BOSH release, which ties everything together and also serves as the central hub for GitHub issues.
Each component has its own repository:
To learn more about how they fit together, see Concourse Architecture.
conditions | ECOMSport |
Minimalist rules engine for Golang | |
Voir le readme
conditionsThis package offers a parser of a simple conditions specification language (reduced set of arithmetic/logical operations). The package is mainly created for Flow-Based Programming components that require configuration to perform some operations on the data received from multiple input ports. But it can be used whereever you need externally define some logical conditions on the internal variables. Additional credits for this package go to Handwritten Parsers & Lexers in Go by Ben Johnson on Gopher Academy blog and InfluxML package from InfluxDB repository. Usage example
CreditForked from https://github.com/oleksandr/conditions The main differences are
|
Voir le readme
Not Found |